Контроль скорости recyclerView

У меня есть 3 вида ресайклера, когда один прокручивает две другие прокрутки одновременно, я использую OnScrollListener для этого

    @Override
    public void onScrolled(RecyclerView recyclerView, final int dx, final int dy) {
             super.onScrolled(recyclerView, dx, dy);
                  recyclerView2.removeOnScrollListener(this);
                  recyclerView3.removeOnScrollListener(this);
                  recyclerView2.scrollBy(dx , 0);
                  recyclerView3.scrollBy(dx , 0);
                  recyclerView2.addOnScrollListener(this);
                  recyclerView3.addOnScrollListener(this);
     }

Это работает нормально, но я бы хотел, чтобы recyclerView2 и recyclerView3 замедлялись при прокрутке

Я пытаюсь использовать fling ()

recyclerView1.setOnFlingListener(new RecyclerView.OnFlingListener() {

         @Override
         public boolean onFling(int velocityX, int velocityY) {
              recyclerView2.fling(40* (int) Math.signum((double)velocityX), velocityY);
              recyclerView3.fling(60* (int) Math.signum((double)velocityX), velocityY);
              return true;     
         }
});

Это замедлит 3 ресайклера вместо замедления только recyclerView2 и recyclerView3.

Возможно связано с этим вопросом stackoverflow.com/questions/30702726/…

4gus71n 06.07.2018 15:53

Нет, эта проблема решена в моем случае, моя проблема в том, чтобы просто замедлить другой повторный просмотр

Robert Tripoux 06.07.2018 15:55

но ... не происходит ли автоматическое замедление броска? Почему бы не сохранить прослушиватель onscroll для представления ресайклера 1, и вместо прокрутки других представлений ресайклера вы просто вызываете те 2 метода бросания, которые у вас есть?

Fred 06.07.2018 18:32
0
3
194
0

Другие вопросы по теме