项目需求中要求veiwpager在触摸的时候停止滑动,我在项目中设置了viewpager的的触摸事件,重写了onTouchEvent(MotionEvent event)在方法里处理触摸事件,但是事件无效,后来才发现 要将触摸等相关事件设置个图片,即viewpager的底层将相关事件给拦截了,因此不能将触摸等相关事件设置给viewpager,要将触摸等事件设置给图片即imageView.setOnTouchListener(OnTouch Listener l){},这样就实现了项目需求
关键代码
//触摸后图片停止轮播,触摸事件必须放在图片上,而不是viewpager上,因为图片在最上层,放在viewpager上触摸被屏蔽,无效
imageView.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View arg0, MotionEvent arg1) {
// TODO Auto-generated method stub
switch (arg1.getAction()) {
case MotionEvent.ACTION_DOWN:
handler.sendEmptyMessage(STOP);
break;
case MotionEvent.ACTION_UP:
handler.sendEmptyMessage(START);
break;
default:
break;
}
return false;
}
});