Viewpager嵌套内层滑动不起作用?
来源:互联网 发布:python app 编辑:程序博客网 时间:2024/06/08 10:17
解决办法,对于内层的viewpager进行重写,拦截消息转发.代码如下:
public class ChildViewPager extends ViewPager {
/** 触摸时按下的点 **/
PointF downP = new PointF();
/** 触摸时当前的点 **/
PointF curP = new PointF();
OnSingleTouchListener onSingleTouchListener;
public ChildViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
}
public ChildViewPager(Context context) {
super(context);
}
@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);
}
/**
* 单击
*/
public void onSingleTouch() {
if (onSingleTouchListener != null) {
onSingleTouchListener.onSingleTouch();
}
}
/**
* 创建点击事件接口
*/
public interface OnSingleTouchListener {
public void onSingleTouch();
}
public void setOnSingleTouchListener(OnSingleTouchListener onSingleTouchListener) {
this.onSingleTouchListener = onSingleTouchListener;
}
}
- Viewpager嵌套内层滑动不起作用?
- viewpager两层嵌套+内层循环滑动
- ViewPager嵌套ViewPager,外层禁止滑动,内层不禁止会出现的问题
- ViewPager嵌套(内层ViewPager可以滑动之父类兼容listView)
- ViewPager嵌套(内层ViewPager直接实现类继承了兼容ListView滑动的父类)
- viewpager嵌套viewpager滑动处理
- 两个ViewPager嵌套滑动
- scrollview嵌套viewpager 滑动冲突
- Viewpager嵌套滑动冲突解决办法
- viewpager嵌套的滑动问题~~
- ViewPager嵌套禁止外层滑动
- 解决ViewPager嵌套,滑动冲突
- ViewPager嵌套HorizontalListView滑动冲突
- NestedScrollView嵌套ViewPager滑动问题
- ViewPager相互嵌套,里层ViewPager无法滑动
- ViewPager相互嵌套,里层ViewPager无法滑动
- ViewPager相互嵌套,里层ViewPager无法滑动
- ViewPager相互嵌套,里层ViewPager无法滑动
- codeforces 482B. Interesting Array【线段树区间更新】
- Swift中KVC和KVO的使用
- jsp九大内置对象之Config对象
- POJ 2528 Mayor's posters
- 工作笔记5.JAVA图片验证码
- Viewpager嵌套内层滑动不起作用?
- 搭建网站要考虑的事情
- vim自动补齐插件onmicppcompete
- jsp九大内置对象之response对象
- linux下的java程序脚本启动程序
- 如何有效的减少重复的代码
- 相关度算法BM25
- UVa12024 - Hats(错排问题)
- 思考