Closed lilongls closed 8 years ago
可以的。代码要额外添加才行
dispatchTouchEvent
的 action_move 的时候
//MrFu 解决滑动到底部的时候, ViewPager 左右滑动冲突的问题
if (allowDragBottom){
float dy = ev.getY() - ly;
float dx = ev.getX() - lx;
if (Math.abs(dy) < Math.abs(dx)) {//左右滑动
// Debug.i_MrFu("allowDragBottom="+allowDragBottom);
return super.dispatchTouchEvent(ev);
}
}
//end
不是这样加的。我看一下代码。待会贴出来
恩??? 奇了怪了,现在HorizontalScrollView跟CustScrollView是不冲突的啊。你怎么加的代码了。touch的拦截和分发策略,老早之前已经规避冲突了。
ViewPager,当我把 ViewPager 加到第一页的最底部的时候,是会出现左右滑动的冲突,出现的前提是,第一页滑到低,并不触发上拉到下一页的时候
不会出现问题的。是不是你用了很早之前的代码,一直没更新?现在这类问题,早就fix掉了。我自己试了,viewpager和horizontalScrollVIew都没有问题。
噗,确实,我这里用的还是比较老的,而且是自己写的,那会你还没写 CustomScrollView
,OK,有数了,我看下要不要更新到最新
恩。好的
这个确实有冲突底部是可横滑的控件先横滑小距离在上下滑会触发滑动到第二页的事件
而京东的不是,你怎么先横滑然后竖滑都是滑动的底部横滑控件不会触发滑动到第二页的事件
@lilongls 不会的了。你更新下最新代码。
一旦横向滑动了,垂直滑动是被禁止的
最新的代码在三星note3安卓4.3上极少数情况可以成功拦截事件,单绝大多数还是不行的、 float yOffset = downY - ev.getRawY(); float yDistance = Math.abs(yOffset); if (yDistance > mTouchSlop) { if (yOffset > 0 && isAtBottom) { scrollMode = TOUCH_DRAG_LAYOUT; getParent().requestDisallowInterceptTouchEvent(false); return true; } else { scrollMode = TOUCH_INNER_CONSIME; } 这代码控制的?
复现步骤是先横滑小距离(前期)横滑幅度大了就可以拦截
我不知道你做了什么样的代码定制与修改。如果你怀疑的话,你可以下载这个仓库,然后在vertical_fragment1.xml添加上这个: `<HorizontalScrollView android:layout_width="match_parent" android:layout_height="90dp">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="horizontal">
xxxxxxx若干子Viewxxxxxxxxx
</LinearLayout>
` 你这样加下,滑动试试,如果还有问题,你再留言吧。
你们自己的代码,我是看不到的,做了怎样的修改,我也不清楚。如果有问题,也应该一点点定位。你这么说,我是真的无从下手的,因为我在模拟器和小米、魅族上跑的一点问题没有。
就是在这个项目直接添加的 <HorizontalScrollView android:layout_width="match_parent" android:layout_height="wrap_content"> <LinearLayout android:padding="50dp"
Apk发我邮箱看看 120809170@qq.com
第一页底部有可以横向滚动的控件时有滑动冲突。样式参考京东商品详情页第一页底部。能否搞得和京东一样的效果