slidingMenu下的Viewpager滑动点击事件冲突
2016-01-13 10:38
218 查看
slidingMenu下的Viewpager滑动点击事件冲突
一定义触摸事件/**
自定义Viewpager触摸事件
*/
class PagerOnTouchListener implements OnTouchListener {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()){ case MotionEvent.ACTION_UP: MyLog.d(TAG,"Viewpager上的手指抬起了! "); mTopViewsHandler.postDelayed(pagerRollRunnable,5000);//手指抬起时时开启轮播 } return gestureDetector.onTouchEvent(event);
}
}
/**
重写手势识别器
*/
GestureDetector gestureDetector = new GestureDetector(new GestureDetector.OnGestureListener(){
@Override
public boolean onDown(MotionEvent e) {
MyLog.d(TAG,”onDown”);
mTopViewsHandler.removeCallbacks(pagerRollRunnable);//停止轮播
mTopNewsViewPager.getParent().requestDisallowInterceptTouchEvent(true);//让SlidingMenu不响应事件
return false;
}
@Override
public void onShowPress(MotionEvent e) {
MyLog.d(TAG,”onShowPress”);
}
@Override
public boolean onSingleTapUp(MotionEvent e) {
//实现ViewPager图片点击的跳转
UIUtils.startActivity(MainActivity.this, NewsDetailActivity.class, Constants.NEWS_ID_KEY, topNewsList.get(mTopNewsViewPager.getCurrentItem() % topNewsList.size()).newid+”“);
MyLog.d(TAG,”onSingleTapUp”);
return false;
}
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
MyLog.d(TAG,”onScroll”);
return false;
}
@Override
public void onLongPress(MotionEvent e) {
MyLog.d(TAG,”onLongPress”);
}
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
MyLog.d(TAG,”onFling”);
return false;
}
});
二 ,使用
mTopNewsViewPager.setOnTouchListener(new PagerOnTouchListener());
相关文章推荐
- java 多线程(2) 线程的调度和优先级 / sleep() / interrupt() 打断join() / yield() / setPriority()
- 再说MySQL数据库事务隔离级别的那些事(通俗版非学院派)
- java中Object... 的用法是什么意思?
- 并行原理分析(libcurl+epoll)
- 徐家骏:我在华为工作十年的感悟(转载)
- Yii2中request的使用
- ibatis中isNotNull与isNotEmpty区别
- 程序员之网络安全系列(六):动态密码
- Spring Session Redis
- g++编译
- g++编译
- yum安装
- 哪些函数不能被声明为虚函数
- Spinner下拉列表(列表项带有图片和文字)
- 如何查看linux系统安装了哪些服务?
- 看病(版权所有翻版必究)
- centos 6.6 解决ibus用不了的问题
- console.error和js异常的区别
- 大数据框架
- ECMAScript 6入门