Android Zoom ImageView 开源库地址:
PhotoView我们知道双击PhotoView能够缩放图片,有时候需要响应单击事件,比如类似朋友圈里的图文Feed流,双击图片实现缩放,单击图片隐藏ToolBar等控件:
这样的滑动图片浏览效果我们可以通过ViewPager
和PhotoView
实现,为了响应单击事件,需要使用到PhotoViewAttacher
,代码如下:
mAttacher.setOnViewTapListener(new PhotoViewAttacher.OnViewTapListener() { @Override public void onViewTap(View view, float x, float y) { } });
注意:这里的ViewPager
需要自定义一个View,继承ViewPager,并重写onInterceptTouchEvent
方法,防止与PhotoView
的触摸事件冲突发生错误:
import android.content.Context;import android.support.v4.view.ViewPager;import android.util.AttributeSet;import android.view.MotionEvent;public class PhotoViewPager extends ViewPager { public PhotoViewPager(Context context) { super(context); } public PhotoViewPager(Context context, AttributeSet attrs) { super(context, attrs); } @Override public boolean onInterceptTouchEvent(MotionEvent ev) { try { return super.onInterceptTouchEvent(ev); } catch (IllegalArgumentException e) { return false; } }}