3
A
回答
1
我想出了一個使用OnItemTouchListener的解決方案。
滾動事件由3個MotionEvents組成:ACTION_DOWN
,ACTION_MOVE
和ACTION_UP
。
所以在ACTION_DOWN
我們得到了光標(Y)的垂直位置,並在ACTION_MOVE
上比較了新位置和舊位置。
通過返回true
,onInterceptTouchEvent()方法確保我們攔截滾動事件。
float lastY;
recyclerView.addOnItemTouchListener(new RecyclerView.OnItemTouchListener() {
@Override
public boolean onInterceptTouchEvent(RecyclerView recyclerView, MotionEvent event) {
int action = event.getAction();
if(action == MotionEvent.ACTION_DOWN) {
lastY = event.getY();
}
if (action == MotionEvent.ACTION_MOVE && event.getY() > lastY) {
return true;
}
return false;
}
...
+0
感謝這個答案,我現在就試一試。 –
+0
這個答案有問題,如果我刷下來,但保持我的手指滑下,我也可以再次刷卡。 –
相關問題
- 1. UIWebView允許點擊,但阻止滾動
- 2. 如何使div自動滾動下來,但仍然允許向上滾動
- 3. 垂直向下滾動並使用java在Selenium WebDriver中向上滾動
- 4. 向上滾動/向下滾動jquery
- 5. SwipeRefreshLayout不允許我向上滾動
- 6. UIScrollView - 向上滾動,但不向下
- 7. 平滑垂直滾動 - 阻止用戶滾動
- 8. 滾動按鈕jQuery向上滾動並向下滾動
- 9. LongListSelector向下滾動收費
- 10. 向上滾動時向上滾動listview
- 11. iframe - 垂直滾動只有
- 12. Dojo DataGrid垂直向後滾動
- 13. 防止textarea垂直滾動
- 14. iframe允許垂直滾動條,但不是水平的
- 15. 固定的水平位置,但允許與jQuery垂直滾動
- 16. 移動滾動條向上或向下
- 17. 防止身體滾動,但允許疊加滾動
- 18. UIScrollView:只允許滾動
- 19. uiscrollview只允許滾動回來
- 20. 滾動垂直
- 21. 動畫向右滾動向下滾動並向左滾動動畫
- 22. 防止頁面滾動,但允許元素與溢出滾動滾動JQM
- 23. 僅在水平方向滾動滾動視圖而不在垂直方向
- 24. 如何通過在C#中垂直滾動向下滾動窗口#
- 25. 向下滾動頁面自動直到用戶滾動起來
- 26. 角度隱藏標題向下滾動,顯示向上滾動
- 27. 向下滾動固定div&向上滾動時設置絕對
- 28. 方式向上滾動和向下滾動XML對象
- 29. 向上滾動一格,而不是向下滾動
- 30. 隱藏菜單向下滾動並顯示向上滾動
據我所知,你可以做到這一點使用'onScrollChange'聽者'onScrollStateChanged'你得到垂直滾動的值,即'dy'它會讓你知道這是一個向上一扔一扔或向下。現在你知道這是一團糟,明確地使用'recyclerView.scrollToPosition(items.size() - 1)'將'recylerview'移動到底部;' –