До сих пор я был разработчиком iPhone только, и теперь я решил дать Android водоворот. Что-то, что я не смог выяснить на Android, - то, как программно предотвратить прокрутку в a WebView
?
Что-то подобное предотвращению iPhone onTouchMove
событие было бы крупно!
Установите слушателя на свой WebView:
webView.setOnTouchListener(new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
return(event.getAction() == MotionEvent.ACTION_MOVE));
}
});
Мое грязное, но простое в реализации и хорошо работающее решение:
Просто поместите 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>
Надеюсь, это поможет ;)
Я не пробовал, так как еще не сталкивался с этой проблемой, но, возможно, вы могли бы перегрузить функцию onScroll?
@Override
public void scrollTo(int x, int y){
super.scrollTo(0,y);
}