在缩放后(通过触摸执行),WebView似乎无法正常工作。 重现页面加载缩放页面但不允许在缩放后滚动视图(这将导致问题不显示)。点击链接。链接突出显示它被单击但WebView无法导航到下一页(因此它在视觉上保持在相同的URL上)。 以下是测试项目source和apk以重现此内容。
转载于Nexus S和HTC野火S. 我会感激任何想法或方向。
package com.test;
import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class TestWebViewBugActivity extends Activity {
WebView webView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
webView = (WebView) findViewById(R.id.webView);
webView.getSettings().setBuiltInZoomControls(true);
webView.getSettings().setSupportZoom(true);
webView.setWebViewClient(new WebViewClient() {
});
webView.loadUrl("http://google.com/");
}
}
P.S。 源和apk中的布局XML根据评论中的建议而改变(高度现在是静态值)
答案 0 :(得分:0)
我相信你需要修复你的Main.xml文件。 WebView中的布局高度为“fill_parent”。当客户端缩放时,WebView会放大影响父级的内容。这是你的Main.XML
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello" />
<WebView
android:id="@+id/webView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
/>
</LinearLayout>
尝试为WebView指定一个定义的高度。然后尝试缩放旅馆,看看会发生什么。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
<WebView
android:id="@+id/webView"
android:layout_width="fill_parent"
android:layout_height="500px"
/>
</LinearLayout>
答案 1 :(得分:0)
在布局main.xml
中<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<WebView
android:id="@+id/web_view"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1.0" />
</LinearLayout>
活动
WebView webView = (WebView) findViewById(R.id.web_view);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setBuiltInZoomControls(true);
webView.getSettings().setSupportZoom(true);
webView.loadUrl("http://google.com");
它应该工作。 而不是google.com尝试其他页面。在我的手机上打开默认浏览器。但我的私人网页工作正常:)