我有水平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