をスクロールアップはどのようにのみスクロールダウンできるようにする垂直Recyclerviewのスクロール機能を制限することができますか?垂直Recyclerviewだけスクロールダウン可能にするが、ブロックが
私は何とか「トップへノーリターンでリスト」を作りたいです。
EDIT:それは重複しません。私は垂直方向のスクロールを無効にしたくありません。私はちょうど上にスクロールを無効にしたい。
をスクロールアップはどのようにのみスクロールダウンできるようにする垂直Recyclerviewのスクロール機能を制限することができますか?垂直Recyclerviewだけスクロールダウン可能にするが、ブロックが
私は何とか「トップへノーリターンでリスト」を作りたいです。
EDIT:それは重複しません。私は垂直方向のスクロールを無効にしたくありません。私はちょうど上にスクロールを無効にしたい。
私はOnItemTouchListenerを使用して解決策を考え出しました。
スクロールイベントは、3つのモーションイベント: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;
}
...
を使って下に移動してください。 –
この回答は、私が下にスワイプしても、指をスワイプしたままにしておくと、再びスワイプすることができます。 –
私の知る限り、あなたはすなわち、垂直スクロールの値を取得しますonScrollStateChanged'この使用して 'onScrollChange'リスナーを'行うことができますが、 '、それはあなたがそれは情事アップを知っているか、ダウン投げつけるもらおうdy'しました。今度は、それが浮かんでいることが分かります。明示的に 'recylerview'を' recyclerView.scrollToPosition(items.size() - 1); ' –