Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/190.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在实现多触摸屏的Android应用程序中,如何将最小缩放限制为屏幕大小?_Android_Image Manipulation_Zooming - Fatal编程技术网

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

在实现多触摸屏的Android应用程序中,如何将最小缩放限制为屏幕大小?,android,image-manipulation,zooming,Android,Image Manipulation,Zooming,我使用“Hello Android”中的代码来实现多触摸屏。它允许拖动手势和收缩缩放 这种实现的问题是,图片可能变得非常小或从屏幕上移出。有一种解决方案允许限制缩放和平移(http://www.zdnet.com/blog/burnette/how-to-use-multi-touch-in-android-2-part-6-implementing-the-pinch-zoom-gesture/1847). 它将缩放限制为一定的大小。在Android Gallery应用程序中,缩放的最小

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

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


如何实现这一点?

理想情况下,您希望将图像的宽度和高度限制在视图范围内。可以在自定义视图中使用onSizeChanged方法获取边界

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

您必须对宽度和高度应用相同的比例因子,以保持相同的纵横比

--编辑--
在Github上添加了这样的内容:

理想情况下,您希望将图像的宽度和高度限制在视图范围内。可以在自定义视图中使用onSizeChanged方法获取边界

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

您必须对宽度和高度应用相同的比例因子,以保持相同的纵横比

--编辑--
已经在Github上添加了此选项:

添加了我使用的类的答案。添加了我使用的类的答案。