android 在一个scrollView里面嵌套一个需要滑动的控件(listView、gridView)
2014-03-03 14:40
489 查看
package cn.via.dageeeOrderFood.widget; import android.content.Context; import android.graphics.PointF; import android.util.AttributeSet; import android.view.MotionEvent; import android.widget.ListView; /** * Created by Heyiyong on 2014-2-27 下午10:34. */ public class MyListView extends ListView { /** 触摸时按下的点 **/ PointF downP = new PointF(); /** 触摸时当前的点 **/ PointF curP = new PointF(); public MyListView(Context context, AttributeSet attrs) { super(context, attrs); } public MyListView(Context context) { super(context); } public MyListView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } @Override public boolean onInterceptTouchEvent(MotionEvent arg0) { //当拦截触摸事件到达此位置的时候,返回true, //说明将onTouch拦截在此控件,进而执行此控件的onTouchEvent return true; } @Override public boolean onTouchEvent(MotionEvent arg0) { //每次进行onTouch事件都记录当前的按下的坐标 curP.x = arg0.getX(); curP.y = arg0.getY(); if(arg0.getAction() == MotionEvent.ACTION_DOWN){ //记录按下时候的坐标 //切记不可用 downP = curP ,这样在改变curP的时候,downP也会改变 downP.x = arg0.getX(); downP.y = arg0.getY(); //此句代码是为了通知他的父ViewPager现在进行的是本控件的操作,不要对我的操作进行干扰 getParent().requestDisallowInterceptTouchEvent(true); } if(arg0.getAction() == MotionEvent.ACTION_MOVE){ //此句代码是为了通知他的父ViewPager现在进行的是本控件的操作,不要对我的操作进行干扰 getParent().requestDisallowInterceptTouchEvent(true); } if(arg0.getAction() == MotionEvent.ACTION_UP){ //在up时判断是否按下和松手的坐标为一个点 //如果是一个点,将执行点击事件,这是我自己写的点击事件,而不是onclick if(downP.x==curP.x && downP.y==curP.y){ /* onSingleTouch();*/ return true; } } return super.onTouchEvent(arg0); } }
相关文章推荐
- android 关于 ScrollView嵌套GridView,ListView 显示和滑动的问题
- 一个 ScrollView 里面包含 viewpager 嵌套 listview 或 RecyclerView 极少代码实现的流畅滑动效果 处理一个两层滑动 view 的自定义布局,以最少的代码实现,
- ScrollView中若嵌套有滑动的控件(如:WebView,ListView或GridView)焦点问题
- android 关于 ScrollView嵌套GridView,ListView 显示和滑动的问题
- Android listview 嵌套 gridview (滑动控件的嵌套使用)
- android 关于 ScrollView嵌套GridView,ListView 显示和滑动的问题
- ScrollView中若嵌套有滑动的控件(如:WebView,ListView或GridView),另外该界面中还有其它的控件时,界面不显示最上面控件的问题。
- android 关于 ScrollView嵌套GridView,ListView 显示和滑动的问题
- Android ScrollView里面嵌套ListView 显示异常(只有显示一个Item)
- android ScrollView嵌套listView gridView 引发的自动滑动问题
- android 关于 ScrollView嵌套GridView,ListView 显示和滑动的问题
- android 关于 ScrollView嵌套GridView,ListView 显示和滑动的问题
- ScrollView中若嵌套有滑动的控件(如:WebView,ListView或GridView)时的焦点问题
- Android-关于一个界面同级中需要两个listView时,一个ListView被嵌套在ScrollView中,ListView的适配器adapter中的getView执行次数重复问题
- Android控件ListView的外面嵌套ScrollView的坑
- Android-scrollview嵌套listview、webview、gridview不置顶问题
- android 之 ListView 里面嵌套 GridView 遇到的问题及其解决方法。
- ScrollView嵌套ListView,GridView,ViewPager,以及这些控件自动滚动到底部问题的解决
- 【Android - 问题解决】之ScrollView嵌套ListView时总是自动滑动到ListView顶部的问题
- [Android] 在ScrollView 中嵌套 GridView/ListView时只显示一行的原因和解决办法