Android WebView isn't scrollable
Solution 1
I have found a solution for this, All you need is to put WebView definition in "
layout/content_my.xml
" not in "activity_my.xml"
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/webView"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
And inside the MyActivity.java
WebView webview = (WebView)findViewById(R.id.webView);
webview.loadUrl("file:///android_asset/index.html");
webview.setVerticalScrollBarEnabled(true);
webview.setHorizontalScrollBarEnabled(true);
Solution 2
Don't use wrap_content
for your height. If your WebView
has the same height as its content, then there's never anything to scroll as obviously the content all fits by definition (though given you're loading content dynamically this may not be exactly what's happening). Try setting the height to match_parent
or a fixed value.
Solution 3
I had some other elements in my relative layout, which I switched to invisible. This made my webview not scrollable. My solution was:
relativelayout.removeallchilds();
relativelayout.addchild(webview);
relativelayout.addchild(overlaybutton);
Abascus
Updated on July 09, 2022Comments
-
Abascus almost 2 years
My Android
WebView
isn't scrollable.XML Code:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/screen" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#87cefa" android:gravity="left" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <WebView android:id="@+id/webView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_centerHorizontal="true" />
I'm loading the Website with the normal
webview.loadUrl(url);
function and sometimes with thewebview.loadDataWithBaseURL("", htmlContent, "text/html", "UTF-8", "");
function, both of them display the page, but they are not scrollableInit:
setContentView(R.layout.activity_main); webview = (WebView)this.findViewById(R.id.webView); webview.setVerticalScrollBarEnabled(true); webview.setHorizontalScrollBarEnabled(true);
Loading:
webview.loadUrl(url); [either one of them or the other] webview.loadDataWithBaseURL("", htmlContent, "text/html", "UTF-8", "");