我的Android WebView
无法滚动。
XML代码:
<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" />
我正在使用正常的webview.loadUrl(url);
函数加载网站,有时使用webview.loadDataWithBaseURL("", htmlContent, "text/html", "UTF-8", "");
函数,它们都显示页面,但它们不可滚动
初始化:
setContentView(R.layout.activity_main);
webview = (WebView)this.findViewById(R.id.webView);
webview.setVerticalScrollBarEnabled(true);
webview.setHorizontalScrollBarEnabled(true);
装载:
webview.loadUrl(url);
[either one of them or the other]
webview.loadDataWithBaseURL("", htmlContent, "text/html", "UTF-8", "");
答案 0 :(得分:4)
不要将wrap_content
用于身高。如果您的WebView
与其内容具有相同的高度,那么从来没有任何内容可以滚动,因为显然内容都符合定义(尽管如果你动态加载内容,这可能不是完全发生了什么)。尝试将高度设置为match_parent
或固定值。
答案 1 :(得分:3)
我找到了一个解决方案,您只需要将WebView定义放在&#34;
中布局/ content_my.xml
&#34;不在&#34; activity_my.xml&#34;
<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" />
在MyActivity.java里面
WebView webview = (WebView)findViewById(R.id.webView);
webview.loadUrl("file:///android_asset/index.html");
webview.setVerticalScrollBarEnabled(true);
webview.setHorizontalScrollBarEnabled(true);
答案 2 :(得分:1)
我的相对布局中有一些其他元素,我切换到隐形。这使我的webview无法滚动。我的解决方案是:
relativelayout.removeallchilds();
relativelayout.addchild(webview);
relativelayout.addchild(overlaybutton);
答案 3 :(得分:1)
嘿,我遇到了与webview相同的问题。即使使用match_parent属性和非常简单的代码,它也不会滚动。
问题不在您的xml文件中。它在你的Java文件中。 在该活动的java文件中覆盖onPause和onResume方法并包含此代码
{{1}}
暂停WebView然后再次恢复它非常重要。 希望能解决你的问题。
答案 4 :(得分:0)
我发布此评论是因为我认为这可能是重复的,但我会看一下这个问题:
这提供了一些我认为可以解决这个问题的电话。
另一个问题:
尝试将您的网络视图从“自动换行内容”更改为某个特定高度。然后设置滚动条。
尝试类似300dp的东西并从那里开始。
答案 5 :(得分:0)
添加此行,它将开始工作
webview.getSettings().setJavaScriptEnabled(true);
希望,这可以解决您的问题吗?