带有捏缩放的 Android 图库
Posted
技术标签:
【中文标题】带有捏缩放的 Android 图库【英文标题】:Android Gallery with pinch zoom 【发布时间】:2012-05-03 08:55:18 【问题描述】:我找到了gallery with pinch zoom 的示例项目并修复了一些错误。你可以在here下载我的代码
它只支持全屏。它始终将图像居中到屏幕高度。但我想将标题视图放在屏幕顶部并调整图像的位置。图片位置应为:
header height + (screen height - header height) / 2
我不太擅长使用Matrix
。任何人都知道如何使自定义图库以任何尺寸(不仅仅是全屏)工作?
【问题讨论】:
这是很棒的东西。你能解释一下主要的修复吗? 当我从 Matrix 将 imageview scaltype 设置为 fitxy 时,缩放不起作用..为什么会发生这种情况 这是我找到的最好的(也是最简单的)照片库,但它有一些小故障,例如在滑动或缩放后将图像推到窗口的右侧或底部。此外,它不会让您一直放大。此外,如果图像处于低分辨率,它会缩小太多。 您可能在这个项目中有答案:github.com/sephiroth74/ImageViewZoom。我认为他们根据 ImageView 而不是屏幕尺寸来计算高度/宽度。 【参考方案1】:您可以使用我的Pinch to zoom Gallery 项目。您可以从图库中选择任何图像,然后在onDoubleTap(MotionEvent e)
打开完整图像并进行缩放。
【讨论】:
首先为您的项目链接 +1 投票,我对其进行了测试并且运行良好,但是我有与同一主题相关的赏金问题,请您检查一下:***.com/questions/18228934/…,我该如何利用你的项目在我的无限画廊中实现缩放能力,我需要使用你项目中的所有类吗,非常感谢【参考方案2】:您也可以使用以下代码行为画廊执行图像缩放缩放选项:
case MotionEvent.ACTION_POINTER_DOWN:
oldDist = spacing(event);
Log.d(TAG, "oldDist=" + oldDist);
if (oldDist > 10f)
savedMatrix.set(matrix);
midPoint(mid, event);
mode = ZOOM;
Log.d(TAG, "mode=ZOOM" );
break;
或者你可以download the example。
【讨论】:
以上是关于带有捏缩放的 Android 图库的主要内容,如果未能解决你的问题,请参考以下文章
使用 Android 内置的手势监听器和缩放监听器实现捏缩放和拖动