Android Swipeable Recycler视图侦听器被视图寻呼机覆盖';s
我正在使用图书馆(swipeableRecyclerView) 刷卡时,CardView会移动一段距离,然后碎片开始移动 i、 e.到了一个点RecyclerView监听器实现与库的回调工程,然后viewPager的滑动开始行动 有没有办法克服这种情况?我有两个片段,所以我想做一些类似的事情: 右击-调用RecyclerView侦听器,并取消CardView 左滑动-调用viewPager滚动并滑动片段 代码:Android Swipeable Recycler视图侦听器被视图寻呼机覆盖';s,android,android-recyclerview,Android,Android Recyclerview,我正在使用图书馆(swipeableRecyclerView) 刷卡时,CardView会移动一段距离,然后碎片开始移动 i、 e.到了一个点RecyclerView监听器实现与库的回调工程,然后viewPager的滑动开始行动 有没有办法克服这种情况?我有两个片段,所以我想做一些类似的事情: 右击-调用RecyclerView侦听器,并取消CardView 左滑动-调用viewPager滚动并滑动片段 代码: 回答我自己的问题。正如Commonware所分享的,我创建了自定义视图寻呼机,但遇到
回答我自己的问题。正如Commonware所分享的,我创建了自定义视图寻呼机,但遇到了相反的问题(视图寻呼机不刷卡) 因此,我对自定义viewPager进行了更多调整:
public class MyViewPager extends ViewPager {
public MyViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
protected boolean canScroll(View v, boolean checkV, int dx, int x,
int y) {
if (v instanceof MyRecyclerView) {
if(dx>0)
return(super.canScroll(v, checkV, dx, x, y));
else
return(true);
}
return(super.canScroll(v, checkV, dx, x, y));
}
}
MyReceicycleView是在一个片段中使用的自定义回收视图。dx>0确保如果im从右边框到左,则调用一个viewPager侦听器,否则卡会从左到右刷走(删除)
结果:ViewPager按预期工作,同时用户刷卡/刷卡。感谢Commonware。子类
ViewPager
和覆盖canScroll()
。如果没有其他内容,当提供的视图是您的RecyclerView
时,您可以返回true
,这样RecyclerView
上的水平手势就不会被ViewPager
窃取。这在ViewPager
页面内有地图的情况下证明了这一点。它起了作用,但问题反过来了。我在frags和Custom viewPager中都有recyclerview,这两个视图的pager都返回true,即pager没有滚动,但卡被刷出。我可以把它留在这里(用户点击标签切换),但这不是一个好的设计。有什么建议吗?
public class MyViewPager extends ViewPager {
public MyViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
protected boolean canScroll(View v, boolean checkV, int dx, int x,
int y) {
if (v instanceof MyRecyclerView) {
if(dx>0)
return(super.canScroll(v, checkV, dx, x, y));
else
return(true);
}
return(super.canScroll(v, checkV, dx, x, y));
}
}