Отключить прокрутку в webview?

До сих пор я был разработчиком iPhone только, и теперь я решил дать Android водоворот. Что-то, что я не смог выяснить на Android, - то, как программно предотвратить прокрутку в a WebView?

Что-то подобное предотвращению iPhone onTouchMove событие было бы крупно!

81
задан Pratik Butani 29 November 2014 в 05:26
поделиться

3 ответа

Установите слушателя на свой WebView:

webView.setOnTouchListener(new View.OnTouchListener() {
            public boolean onTouch(View v, MotionEvent event) {
                return(event.getAction() == MotionEvent.ACTION_MOVE));
            }
        });
7
ответ дан 24 November 2019 в 09:26
поделиться

Мое грязное, но простое в реализации и хорошо работающее решение:

Просто поместите webview внутрь scrollview. Сделайте webview слишком большим, чем возможное содержимое (в одном или обоих измерениях, в зависимости от требований). ...и настройте скроллбар(ы) скроллвью по своему усмотрению.

Пример отключения горизонтальной полосы прокрутки в webview:

<ScrollView
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:scrollbars="vertical"
>
    <WebView
        android:id="@+id/mywebview"
        android:layout_width="1000dip"
        android:layout_height="fill_parent"
    />
</ScrollView>

Надеюсь, это поможет ;)

4
ответ дан 24 November 2019 в 09:26
поделиться

Я не пробовал, так как еще не сталкивался с этой проблемой, но, возможно, вы могли бы перегрузить функцию onScroll?

@Override
public void scrollTo(int x, int y){
super.scrollTo(0,y);
}
6
ответ дан 24 November 2019 в 09:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: