我有水平Recyclerview,并希望禁用它的手动滚动。但在点击项目时,应该滚动。怎么做?如何禁用Recyclerview的手动滚动?
1
A
回答
1
实现RecyclerView.OnItemTouchListener在你的电话就挖走了所有的触摸事件上recyclerview
public class RecyclerViewDisabler implements RecyclerView.OnItemTouchListener {
@Override
public boolean onInterceptTouchEvent(RecyclerView rv, MotionEvent e) {
return true;
}
@Override
public void onTouchEvent(RecyclerView rv, MotionEvent e) {
}
@Override
public void onRequestDisallowInterceptTouchEvent(boolean) {
}
}
启用和禁用滚动:
RecyclerView recycleview = ...
RecyclerView.OnItemTouchListener disabler = new RecyclerViewDisabler();
recycleview.addOnItemTouchListener(disabler); // scolling disable
// do what you want to do at time of disable scrolling
recycleview.removeOnItemTouchListener(disabler); // scrolling enabled again
+0
谢谢你的回答。会尝试。 – user3606902
+0
这也禁用onClick也 –
0
// You can set `onTouchListener`
public class RecyclerViewTouch implements RecyclerView.OnItemTouchListener {
@Override
public boolean onInterceptTouchEvent(RecyclerView rv, MotionEvent e) {
return true;
}
@Override
public void onTouchEvent(RecyclerView rv, MotionEvent e) {
}
@Override
public void onRequestDisallowInterceptTouchEvent(boolean disallowIntercept) {
}
}
// Use it
RecyclerView.OnItemTouchListener disable = new RecyclerViewTouch();
rView.addOnItemTouchListener(disable); // disables scolling
rView.removeOnItemTouchListener(disable); // enable the scrolling
0
你必须创建一个自定义布局为此,您可以禁用滚动
例如:
public class CustomLayoutManager extends LinearLayoutManager {
private boolean isScrollEnabled = true;
public CustomLayoutManager(Context context) {
super(context);
}
public void setScrollEnabled(boolean flag) {
this.isScrollEnabled = flag;
}
@Override
public boolean canScrollHorizontally() {
//Similarly you can customize "canScrollVertically()" for managing horizontal scroll
return isScrollEnabled && super.canScrollHorizontally();
}
这样你可以禁用手动滚动
+0
但这也禁用非手动滚动 –
相关问题
- 1. 在RecyclerView中禁用滚动动画
- 2. 如何使RecyclerView禁止滚动
- 3. 的Android BottomSheet禁用手动滚动
- 4. 如何滚动RecyclerView滚动型
- 5. 滚动recyclerview如何滚动recyclerview以外的对象
- 6. 如何禁用滚动的RecyclerView除编程
- 7. 如何禁用用户在recyclerview(autoscroll)Android上触摸或滚动?
- 8. RecyclerView不滚动滚动
- 9. 禁用“手动”滚动,只有滚动型
- 10. 禁用手机的水平滚动
- 11. 与滚动recyclerview
- 12. 如何禁用ListView滚动?
- 13. RecyclerView + ImageView的滚动
- 14. 滚动条的RecyclerView使用
- 15. jQTouch禁用滚动,启用滚动,禁用滚动
- 16. 禁用RecyclerView项目拖动的振动
- 17. 如何禁用自动滚动?
- 18. 在手机上禁用水平滚动
- 19. 当用户手动滚动时,如何防止自动滚动?
- 20. 禁用通过手势滚动滚动视图
- 21. 禁用点击动画recyclerView
- 22. 如何使用jQuery手动滚动div?
- 23. 如何禁用垂直滚动滚轮?
- 24. 如何计算RecyclerView的滚动速度
- 25. 如何获取滚动的RecyclerView位置
- 26. RecyclerView在滚动时抖动
- 27. 动画效果recyclerview滚动
- 28. 如何禁用智能手机上的水平滚动? (HTML Webview)
- 29. 滚动recyclerview项目
- 30. Recyclerview滚动问题
请检查下面的线程。这可能有帮助。 http://stackoverflow.com/questions/30222310/disable-scrolling-in-child-recyclerview-android – jettimadhuChowdary