gpt4 book ai didi

android - 有没有办法在 Android 中默认 TouchImageView 的比例?

转载 作者:行者123 更新时间:2023-12-03 22:12:38 25 4
gpt4 key购买 nike

像这里的许多其他用户一样,我正在使用 https://github.com/MikeOrtiz/TouchImageView 上提供的 TouchImageView 类。

在我的应用程序中,我正在加载来自服务的图像文件,我将其设置到我的 TouchImageView 对象中。这很好用,因为我可以放大和平移我的图像。但是,每当我单击其中一个按钮移动到下一个或上一个图像时,图像会在显示下一个图像之前缩小到标准缩放。这是第一个问题。

每次更新另一个组件时,TouchImageView 对象都会返回到其初始缩放级别。只需在 EditText 上调用下一行代码即可重置缩放。

imagePageNumber.setText(imagePageNumber.getText());

为了解决这个问题,我尝试在当前缩放级别信息丢失之前保存它,然后在图像加载后再次应用它。我在 TouchImageView 中编写了一个名为 setZoom(float mScaleFactor) 的方法,它基本上模仿了现有 onScale 方法的缩放行为。如果我在使用 imageView.setImageBitmap(bm) 更新图像后直接调用它,则图像不会缩放。但是,如果我在按钮上有一个单击监听器,并在图像加载后尝试缩放,它将正确地将缩放更新为我之前保存的值。我假设图像加载方式可能存在线程问题,并且在调用 setImageBitmap 后无法立即缩放。

有谁知道将比例从一个图像加载到另一个图像的方法?

最佳答案

我在其他情况下遇到过,但解决方案可能相同。
引用你的

imagePageNumber.setText(imagePageNumber.getText());
 TouchImageView object returns to its initial zoom level any time another component is updated
您必须记住其中的 onMeasure() 方法和 translateMatrixAfterRotate() 会导致 TouchImageView 更新。 translateMatrixAfterRotate() 支持旋转,如果您对应用程序的旋转能力不感兴趣,您只需删除 translateMatrixAfterRotate 函数和所有以“temp..”开头的变量,这些变量在旋转之前存储移动数据。
它必须解决您遭受的强制 TouchImageView 更新问题。

关于android - 有没有办法在 Android 中默认 TouchImageView 的比例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10019861/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com