Android Webview SwipeRefreshLayout не позволяет прокручивать вниз

Когда я пытаюсь прокрутить страницу вниз в моем WebView, прокрутка запускает SwipeRefreshLayout вместо самого WebView. Как я могу ограничить область до вершины моей деятельности?

Я пытался написать что-то подобное, но не смог

mySwipeRefreshLayout.onTouchEvent(new MotionEvent() {
            public boolean onTouchEvent(MotionEvent event) {
            final int action = event.getAction();
            switch (action) {
                case MotionEvent.ACTION_DOWN: {
                    final MotionEvent eventCopy = MotionEvent.obtain(event);
                    final float eventY = eventCopy.getY();

                    // Handle only top %20
                    if (eventY < (Percentage / 5)) {
                        int mCurrPercentage = 20;
                        // ......
                    } else {
                        // ......
                    }
                }
                break; 
            });
        }

Вы можете использовать решение, расширив SwypeRefreshLayout и переопределив onTouchEvent, чтобы оно отменило обновление, если касание DOWN ниже некоторого порога

Marcos Vasconcelos 13.06.2018 16:06

@MarcosVasconcelos, как я могу указать порог? А есть ли образец кода?

Abdullah Akçam 13.06.2018 16:10

Никаких выборок, порог должен быть в процентах от размера высоты обзора, который соответствует вашему требованию быть сверху.

Marcos Vasconcelos 13.06.2018 16:12

@MarcosVasconcelos Я отредактировал свой пост Я написал код, но получаю ошибки. Вы можете помочь мне реализовать это? Спасибо за вашу доброту.

Abdullah Akçam 14.06.2018 09:44

Пожалуйста, но вы должны расширить SwypeRefreshLayout и вместо этого переопределить onTouchEvent (вы просто отправляете одно событие таким образом, как вы разместили), поэтому у вас есть доступ к super.onTouchEvent, если вы хотите, чтобы представление обрабатывало или отменяло касание, если оно превышает пороговое значение

Marcos Vasconcelos 14.06.2018 15:32
0
5
196
0

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