Когда я пытаюсь прокрутить страницу вниз в моем 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;
});
}
@MarcosVasconcelos, как я могу указать порог? А есть ли образец кода?
Никаких выборок, порог должен быть в процентах от размера высоты обзора, который соответствует вашему требованию быть сверху.
@MarcosVasconcelos Я отредактировал свой пост Я написал код, но получаю ошибки. Вы можете помочь мне реализовать это? Спасибо за вашу доброту.
Пожалуйста, но вы должны расширить SwypeRefreshLayout и вместо этого переопределить onTouchEvent (вы просто отправляете одно событие таким образом, как вы разместили), поэтому у вас есть доступ к super.onTouchEvent, если вы хотите, чтобы представление обрабатывало или отменяло касание, если оно превышает пороговое значение
Вы можете использовать решение, расширив SwypeRefreshLayout и переопределив onTouchEvent, чтобы оно отменило обновление, если касание DOWN ниже некоторого порога