的Android ViewPager具有可缩放的ImageView

问题描述:

我有这样的实现由ImageViews做出了ViewPager:的Android ViewPager具有可缩放的ImageView

@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的可缩放(并刷图像)或捏缩放?

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

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

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

+2

更多细节确实会有所帮助。 – 2012-01-19 19:53:05

+2

请分享更多的细节.. – arjoan 2012-01-26 15:28:45

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

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

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

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