像这里的许多其他用户一样,我正在使用https://github.com/MikeOrtiz/TouchImageView提供的 TouchImageView 类
在我的应用程序中,我正在加载来自服务的图像文件,我将其设置到我的 TouchImageView 对象中。这很好用,因为我可以放大和平移我的图像。但是,每当我单击其中一个按钮移动到下一个或上一个图像时,图像会在显示下一个图像之前缩小到标准缩放。这是第一个问题。
每次更新另一个组件时,TouchImageView 对象都会返回到其初始缩放级别。只需在 EditText 上调用下一行代码即可重置缩放。
imagePageNumber.setText(imagePageNumber.getText());
为了解决这个问题,我尝试在当前缩放级别信息丢失之前保存它,然后在图像加载后再次应用它。我在 TouchImageView 中编写了一个名为 setZoom(float mScaleFactor) 的方法,它基本上模仿了现有 onScale 方法的缩放行为。如果我在使用 imageView.setImageBitmap(bm) 更新图像后直接调用它,则图像不会缩放。但是,如果我在按钮上有一个单击侦听器,并在图像加载后尝试缩放,它将正确地将缩放更新为我之前保存的值。我假设图像加载方式可能存在线程问题,并且在调用 setImageBitmap 后无法立即缩放。
有谁知道将比例从一个图像加载到另一个图像的方法?