javaee论坛

普通会员

225648

帖子

334

回复

348

积分

楼主
发表于 2017-09-08 14:53:25 | 查看: 413 | 回复: 0
Android Zoom ImageView 开源库地址:
PhotoView

我们知道双击PhotoView能够缩放图片,有时候需要响应单击事件,比如类似朋友圈里的图文Feed流,双击图片实现缩放,单击图片隐藏ToolBar等控件:

这样的滑动图片浏览效果我们可以通过ViewPagerPhotoView实现,为了响应单击事件,需要使用到PhotoViewAttacher,代码如下:

mAttacher.setOnViewTapListener(new PhotoViewAttacher.OnViewTapListener() {                @Override                public void onViewTap(View view, float x, float y) {                    // 隐藏Toolbar等操作                }            });

注意:这里的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;        }    }}

您需要登录后才可以回帖 登录 | 立即注册

触屏版| 电脑版

技术支持 历史网 V2.0 © 2016-2017