Android 子采样比例图像视图初始缩放和位置
我正在使用Dave Morrissey的华丽的库,特别是Android 子采样比例图像视图初始缩放和位置,android,Android,我正在使用Dave Morrissey的华丽的库,特别是子采样比例图像视图,我希望该视图中的图像以100%的比例初始化并居中。有一种方法setScaleAndCenter(float,PointF),第一个参数是scale,我将它设置为1f,第二个是描述中心的点,但我不知道它应该有哪些值 我的图像有2000x3000像素,我尝试将中心点的x和y设置为1000和1500,我也尝试了类似0.5f,50(百分比)的东西,但不起作用 如何计算setScaleAndCenter(float,PointF)
子采样比例图像视图
,我希望该视图中的图像以100%的比例初始化并居中。有一种方法setScaleAndCenter(float,PointF)
,第一个参数是scale,我将它设置为1f
,第二个是描述中心的点,但我不知道它应该有哪些值
我的图像有2000x3000像素,我尝试将中心点的x
和y
设置为1000
和1500
,我也尝试了类似0.5f
,50
(百分比)的东西,但不起作用
如何计算setScaleAndCenter(float,PointF)的值以使图像居中?
setScaleAndCenter(2f,new PointF(1001500))
应该可以工作,但这取决于调用它的时间-如果在设置图像资产名称或方向之前调用它,视图的状态将重置。你能发布你的代码吗?它有效!实际上,我在资产文件之前设置了比例和中心。我还有一个问题,为什么比例是2f
而不是1f
?这只是一个例子-1f会给你1:1的像素映射,在高密度平板电脑屏幕上可能不会放大太多,所以使用2f更好地证明它的工作。除了另一个问题之外,一切都很好,为了在短时间内查看图像,我使用缩放图像作为缩略图,如果用户双击此缩略图,我将覆盖子采样scaleImageView
以全分辨率显示图像,但旧缩略图仍在内存中,这将导致超出内存
。我想我应该用子采样scaleImageView
开始新的活动
,但我想添加回调:如果图像被缩小,我将完成活动
。是否有任何方法可以将回调添加到缩小图像时调用的SubsamplingScaleImageView
?没有,但您可以将getScale
方法与isImageReady
一起调用以确定初始比例。您也可以根据视图和图像尺寸自行计算-请参阅privateminScale
方法。