Как отслеживать сенсорные события ViewHolders и управлять прокруткой его RecyclerView? - PullRequest
0 голосов
/ 24 мая 2019

Когда пользователь касается ViewHolder (у него включена горизонтальная прокрутка), в зависимости от угла прокрутки, мне нужно решить, нужно ли запускать его родительский Recyclerview или прокрутку viewHolder для обработки этого касания.Вот примерный план моей деятельности.layout design Вид рециркулятора Горизонтальный - один из различных видов держателей родительского вида рециркулятора

1 Ответ

0 голосов
/ 24 мая 2019

Вы можете установить прослушиватель прокрутки на просмотр рециркуляции и проверить направление просмотра рециркуляции

 mRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
            @Override
            public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
                super.onScrollStateChanged(recyclerView, newState);
                switch (newState) {
                    case RecyclerView.SCROLL_STATE_IDLE:
                        System.out.println("The RecyclerView is not scrolling");
                        break;
                    case RecyclerView.SCROLL_STATE_DRAGGING:
                        System.out.println("Scrolling now");
                        break;
                    case RecyclerView.SCROLL_STATE_SETTLING:
                        System.out.println("Scroll Settling");
                        break;

                }

            }

            @Override
            public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
                super.onScrolled(recyclerView, dx, dy);
                if (dx > 0) {
                    System.out.println("Scrolled Right");
                } else if (dx < 0) {
                    System.out.println("Scrolled Left");
                } else {
                    System.out.println("No Horizontal Scrolled");
                }

                if (dy > 0) {
                    System.out.println("Scrolled Downwards");
                } else if (dy < 0) {
                    System.out.println("Scrolled Upwards");
                } else {
                    System.out.println("No Vertical Scrolled");
                }
            }
        });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...