我在应用程序中有WebView,我将动态地获取该WebView的数据,我正在控制该视图的缩放。当我获得此URL http://content.vaayoo.com/appsplatform/dealsaheadweb/m_facebooks.aspx?token=moc.liamg@liahs时,将会出现Zoom In Control。但是当我得到以下网址时https://maps.google.com/?saddr=12.9302,77.5831& daddr = 122.928464,77.584258,缩放控件未出现。问题是什么?任何形式的帮助都高度赞赏。以下是我的代码。
protected void applyStyles() {
// applying the zooming property to webview.
final FrameLayout.LayoutParams ZOOM_PARAMS = new FrameLayout.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT, Gravity.TOP);
View zoom = ((WebView) view).getZoomControls();
FrameLayout ContentView = (FrameLayout) ((Activity) context)
.getWindow().getDecorView().findViewById(android.R.id.content);
ContentView.addView(zoom, ZOOM_PARAMS);
zoom.setVisibility(View.VISIBLE);
}
以下是我为WebView进行所有设置的代码。
if (data != null && webview != null) {
String webData = data.toString();
webview.getSettings().setJavaScriptEnabled(true);
webview.getSettings().setLoadWithOverviewMode(true);
webview.getSettings().setDefaultZoom(WebSettings.ZoomDensity.MEDIUM);
webview.getSettings().setUseWideViewPort(false);
//webview.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NARROW_COLUMNS);
webview.getSettings().setBuiltInZoomControls(true);
webview.getSettings().setSupportZoom(true);
webview.requestFocus(View.FOCUS_DOWN);
webview.setOnTouchListener(new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
case MotionEvent.ACTION_UP:
if (!v.hasFocus()) {
v.requestFocus();
}
break;
}
return false;
}
});
System.out.println("webdata" + webData);
if (webData.startsWith("http")) {
webview.loadUrl(webData);
} else {
webview.loadData(webData, "text/html", "utf-8");
}
}
预先感谢
如果您有WebView,则必须启用Zoom的这些属性,以供这样的WebView -
webview.getSettings().setSupportZoom(true);
webview.getSettings().setBuiltInZoomControls(true);
在此之后,向您显示默认缩放功能,我希望此建议对您有所帮助。谢谢
尝试将setJavaScriptEnabled
设置为true。您也可以通过
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
还检查WebView
的以下属性是否存在
webSettings.setSupportZoom(true);
webSettings.setBuiltInZoomControls(true);