Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Disable scrolling in webview?

Until now I have been an iPhone developer only and now I have decided to give Android a whirl. Something I haven't been able to figure out on Android is how to programmatically prevent scrolling in a WebView?

Something similar to iPhones prevention of the onTouchMove event would be great!

like image 779
Jake Sankey Avatar asked Mar 27 '10 02:03

Jake Sankey


People also ask

How do I disable scrolling in Webview?

setScrollContainer(false); Don't forget to add the webview. setOnTouchListener(...) code above to disable all scrolling in the webview.

How to disable horizontal scroll in webview android?

Here is how I disable horizontal scrolling only for a webview. webView. setHorizontalScrollBarEnabled(false); webView. setOnTouchListener(new View.

How do I disable scroll in Webview flutter?

To disable vertical scrolling in flutter webview you can override onVertivalDragUpdate() correspondingly.

How do I disable horizontal scrolling in react native Webview?

For Android change scalesPageToFit={false} into scalesPageToFit={true} . It will work.


1 Answers

Here is my code for disabling all scrolling in webview:

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

To only hide the scrollbars, but not disable scrolling:

WebView.setVerticalScrollBarEnabled(false); WebView.setHorizontalScrollBarEnabled(false); 

or you can try using single column layout but this only works with simple pages and it disables horizontal scrolling:

   //Only disabled the horizontal scrolling:    webview.getSettings().setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN); 

You can also try to wrap your webview with vertically scrolling scrollview and disable all scrolling on the webview:

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

And set

webview.setScrollContainer(false); 

Don't forget to add the webview.setOnTouchListener(...) code above to disable all scrolling in the webview. The vertical ScrollView will allow for scrolling of the WebView's content.

like image 58
peceps Avatar answered Oct 08 '22 08:10

peceps