Android的ViewPager与zoomable ImageView

我有一个由ImageViews制作的ViewPager,像这样实现:

@Override public Object instantiateItem(View collection, int position) { ImageView iv = new ImageView(ctx); if (pageList.size() > position) iv.setImageBitmap(pageList.get(position)); else iv.setImageResource(R.drawable.loading); iv.setOnTouchListener(this); ((ViewPager) collection).addView(iv, 0); System.out.println("POS: " + position); return iv; } 

任何机会,我可以通过双击(和刷图像)或捏可缩放的ImageView可缩放?

Solutions Collecting From Web of "Android的ViewPager与zoomable ImageView"

这是可能的,这是我是如何做到的。

我的顶层布局元素是FrameLayout ,它允许多个视图堆叠在一起。 FrameLayout有两个子项: ViewPager和一个ImageView ,用来显示放大的图片。

ImageView通常是隐藏的。 我在ViewPager内部的图片上侦听触摸事件,并基于这些事件显示和隐藏并平移ImageView。 它工作得很好。 如果需要,我可以提供更多细节。

我使用了Mike Ortiz的TouchImageView类。 这并不完美。 但很酷,因为你可以非常轻松地放下它! 双击缩放animation可能很有趣。 捏缩放可以通过双击,这是奇怪的触发。

如果将其直接放入ViewPager(通过适配器类),它确实工作得很好。 当放大时,您可以自由地左右移动,而不会触发页面更改, 除非您处于正确的边缘,这非常酷!

https://github.com/MikeOrtiz/TouchImageView/blob/master/src/com/ortiz/touch/TouchImageView.java

在github中使用这个库: https : //github.com/matabii/scale-imageview-android 。