如何在实现多点触摸屏的Android应用程序中将最小缩放限制为屏幕尺寸?

时间:2011-03-19 14:32:55

标签: android image-manipulation zoom

我使用“Hello Android”中的代码来实现多点触控屏幕。它允许拖动手势和捏缩放。

此实现的问题是图片可能变得非常小或从屏幕移出。有一个解决方案允许限制缩放和平移(http://www.zdnet.com/blog/burnette/how-to-use-multi-touch-in-android-2-part-6-implementing-the-pinch -zoom手势/ 1847年)。它限制缩放但限制到一定的大小。在Android Gallery应用程序中,缩放的最小尺寸是屏幕尺寸。

如何实现这一目标?

1 个答案:

答案 0 :(得分:1)

您理想的是限制视图边界内的图像宽度和高度。您可以在自定义视图中使用onSizeChanged方法获取边界。

定义minScale(根据视图大小)和maxScale(根据原始图像比例),在更改图像的变换矩阵之前,检查最终比例是否在此范围内。

您必须对宽度和高度应用相同的比例因子才能保持相同的宽高比。

- EDIT-- 已经把它放在Github上:https://github.com/a85/WebComicViewer/blob/master/src/com/rickreation/ui/ZoomableImageView.java