最近需求有个可滑动切换查看大图功能还带缩放,首先想到的就是ViewPager+PhotoView。但是后来发现photoview的setOnclickListener监听无效,
imageView.setOnClickListener(new View.OnClickListener() {//如果不需要点击图片关闭的需求,可以去掉这个点击事件
@Override
public void onClick(View v) {
dialog.dismiss();
}
});
后来查看资料才知道photoview提供了专门的方法:
imageView.setOnPhotoTapListener(new PhotoViewAttacher.OnPhotoTapListener() {
@Override
public void onPhotoTap(View view, float x, float y) {
dialog.dismiss();
}
});
这个方法虽然可以实现单击退出功能,但是只要ViewPager有过切换该功能就失效了,最终发现是下面的问题:
@Override
protected void onDetachedFromWindow() {
mAttacher.cleanup();
super.onDetachedFromWindow();
}
解决方法:只需要重写该方法将mAttacher.cleanup注释即可。但是否会有此带来副作用还待验证发现。。。。