SlidingMenu+ViewPage+ListView嵌套(类似网易 ) ListView点击事件失效冲突问题解决
来源:互联网 发布:承德网络超市 编辑:程序博客网 时间:2024/05/19 13:21
SlidingView 方法onInterceptTouchEvent修改
@Overridepublic boolean onInterceptTouchEvent(MotionEvent ev) {//System.out.println("SlidingView onInterceptTouchEvent");try{final int action = ev.getAction();final float x = ev.getX();final float y = ev.getY();switch (action) {case MotionEvent.ACTION_DOWN:mIsAlreadySetViewState = false;mLastMotionX = x;mLastMotionY = y;mIsBeingDragged = false;break;case MotionEvent.ACTION_MOVE:final float dx = x - mLastMotionX;final float xDiff = Math.abs(dx);final float yDiff = Math.abs(y - mLastMotionY);if(askChild(this,ev, dx,dx)){ return false;}if (xDiff > mTouchSlop && xDiff > yDiff) {mIsBeingDragged = true;mLastMotionX = x;}break;}return mIsBeingDragged;}catch(IllegalArgumentException ex) { ex.printStackTrace();return false;}}private boolean askChild(Object v,MotionEvent ev,float dx,float xDiff ){ ViewGroup vg = null; if(v instanceof ViewGroup){ vg = (ViewGroup)v; }else{ return false; } for(int i=0;i<vg.getChildCount();i++){ if (vg.getChildAt(i) instanceof HorizontalScrollView) {//(这是以HorizontalScrollView为例,其它可以自行加判断) return ((ViewGroup)vg.getChildAt(i)).onInterceptTouchEvent(ev); }else if (vg.getChildAt(i) instanceof MyViewPage) {// System.out.println(" instanceof MyViewPage"+((ViewGroup)vg.getChildAt(i)).onInterceptTouchEvent(ev)); System.out.println(xDiff +"-----------"+scrollX); MyViewPage mvp=( MyViewPage) vg.getChildAt(i); if(mvp.getPosition()==0) if(xDiff>0)//右滑 return false;//((ViewGroup)vg.getChildAt(i)).onInterceptTouchEvent(ev); else if(scrollX<0)//左侧出来 return false; else return true; else return true; } if(askChild(vg.getChildAt(i), ev,dx,xDiff )){ return true; } } return false;}float scrollX =0;之前ViewPage的onInterceptTouchEvent重写 去掉了,不用重写了
代码
http://download.csdn.net/detail/lj102800/7041393
0 0
- SlidingMenu+ViewPage+ListView嵌套(类似网易 ) ListView点击事件失效冲突问题解决
- SlidingMenu+ViewPage+ViewPage嵌套(类似网易 ) 滑动时冲突问题解决
- 解决ScrollView中嵌套ListView滚动效果冲突问题 & ListVIew点击事件失效
- ListView嵌套GridView 点击事件冲突
- ListView嵌套GridView 点击事件冲突
- ViewPage嵌套ListView,嵌套Gallery 滑动冲突
- ViewPage嵌套ListView,嵌套Gallery 滑动冲突
- ListVIew点击事件失效
- ListView点击事件失效
- ListVIew点击事件失效
- ListVIew点击事件失效
- ListVIew点击事件失效
- listview点击事件失效
- ListVIew点击事件失效
- ListVIew点击事件失效
- ListView点击事件冲突
- ListView item点击事件和里面的控件冲突失效
- SlidingMenu按钮事件失效无法点击问题解决
- Hibernate实战_笔记21(创建动态的应用程序)
- C++本质:类的赋值运算符=的重载,以及深拷贝和浅拷贝(收藏)
- 一步步学习SPD2010--第九章节--使用可重用工作流和工作流表单(2)--创建关联栏目
- C++程序中内存使用情况简析
- Android系统架构详解
- SlidingMenu+ViewPage+ListView嵌套(类似网易 ) ListView点击事件失效冲突问题解决
- 一步步学习SPD2010--第九章节--使用可重用工作流和工作流表单(3)--使用工作流模板
- Oracle ResultSetMetaData
- ffmpeg 接收h264+aac并解码
- 一步步学习SPD2010--第九章节--使用可重用工作流和工作流表单(4)--重用全局可重用工作流
- 一步步学习SPD2010--第九章节--使用可重用工作流和工作流表单(5)--创建全局可重用工作流
- 线性代数(三十二) : 矩阵的谱映射定理
- JSP中路径的获取方法
- ADO 连接数据库