2015-05-06 4 views
1

Я нашел подобный принять ответ в: Disable scrolling in webview?Как отключить прокрутку по вертикали и по горизонтали в WebView?

Пример кода:

// disable scroll on touch 
webview.setOnTouchListener(new View.OnTouchListener() { 
    @Override 
    public boolean onTouch(View v, MotionEvent event) { 
     return (event.getAction() == MotionEvent.ACTION_MOVE); 
    } 
}); 

Но принять ответ не удовлетворяет моим требованиям, так как событие касания переместить VIdeo & аудио прогресс бар является также отключить (внедрить в мой WebView), поэтому я не могу перетащить индикатор выполнения.

Нет ли другого способа решить эту проблему? Ждем Вашего ответа! Благодаря!

+1

есть ответы далее в том же сообщении - все не удалось? – Kiran

+0

Спасибо, что вы напомнили, и я пробовал весь путь, наконец, я нашел два пути внизу. ^^ – codezjx

ответ

1

Я стараюсь все пути в этом вопросе: Disable scrolling in webview?

И, наконец, я нашел два пути на дно:


Первый (один ответил GDanger): Расширяет WebView и переопределить overScrollBy() метод и return false.

public class NoScrollWebView extends WebView { 
    ... 
    @Override 
    public boolean overScrollBy(int deltaX, int deltaY, int scrollX, int scrollY, 
           int scrollRangeX, int scrollRangeY, int maxOverScrollX, 
           int maxOverScrollY, boolean isTouchEvent) { 
     return false; 
    } 
} 

Второй (ответил steelbytes): переопределить метод onScrollChanged().

@Override 
protected void onScrollChanged(int l, int t, int oldl, int oldt) { 
    if (bAllowScroll) { 
     super.onScrollChanged(l, t, oldl, oldt); 
    } else if (l! = 0 || t != 0) { 
     super.scrollTo(0, 0); 
    } 
} 
Смежные вопросы