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 the webview.loadDataWithBaseURL("", htmlContent, "text/html", "UTF-8", "");
function, both of them display the page, but they are not scrollable
Init:
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", "");
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.
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);
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);
I've posted this as a comment as I think this may be a duplicate, but I would look at this question:
Android WebView Scrollable
Which provides a few calls which I believe will solve this issue.
Another issue:
Try changing your webview from "Wrap Content" to some specific height. Then set the scrollables.
Try something like 300dp and go from there.
Hey I had the Same Problem with webview. It was not scrolling even with the match_parent attribute and very simple code.
The problem is not in your xml file. Its in your Java file.
In java file of that activity Override onPause AND onResume methods and iclude this code
@Override
protected void onResume() {
super.onResume();
browser.onResume();
}
@Override
protected void onPause() {
super.onPause();
browser.onPause();
}
It is very important that you Pause your WebView AND then Resume it again.
Hope that will solve your problem.
add this line and it will start working
webview.getSettings().setJavaScriptEnabled(true);
Hope, this solves your problem?