因为在ViewPager中设置ImageView的点击事件来finish Activity 有时候会误操作,用户体验不好,本来用户是滑动ViewPager查看下一张图片的,但ImageView的点击事件会响应,从而关闭了整个页面。
接下来,我们用另一种方式实现点击结束activity的效果,和ViewPager搭配算是比较完美,既不影响用户左右滑动浏览,在需要关闭页面时,触摸一下屏幕就会关闭activity。
实现ImageView的touch事件:
iv.setOnTouchListener(new OnTouchListener()
{
@Override
public boolean onTouch(View v, MotionEvent event)
{
switch (event.getAction())
{
case MotionEvent.ACTION_DOWN:
isClose = true;
startPoint.set(event.getX(), event.getY());
break;
case MotionEvent.ACTION_MOVE:
if(Math.abs((event.getX() - startPoint.x)) > DensityUtil.dip2px(context, 5)
|| Math.abs((event.getY() - startPoint.y)) > DensityUtil.dip2px(context, 5))
{
isClose = false;
}
break;
case M