我的朋友使用javascript创建了一个应用程序,并将其上传到他的网站。
现在我正在尝试将其包装到android中的webview中,并且在某些方面工作正常。
该页面为480x320
但无论我在Android上选择什么屏幕,webview底部都有一个空白区域。我已经尝试了很多方法来缩放,但没有任何效果。
此刻我的代码就是这个
final WebView browser = (WebView)findViewById(R.id.webview);
browser.getSettings().setJavaScriptEnabled(true);
browser.loadUrl("http://page.xx");
答案 0 :(得分:14)
我需要按比例缩放以适应宽度,而FunkTheMonk的这种变化对我来说效果很好:
@Override
public void onPageFinished(android.webkit.WebView view, String url)
{
super.onPageFinished(view, url);
WindowManager manager = (WindowManager) getContext().getSystemService(Context.WINDOW_SERVICE);
DisplayMetrics metrics = new DisplayMetrics();
manager.getDefaultDisplay().getMetrics(metrics);
metrics.widthPixels /= metrics.density;
loadUrl("javascript:var scale = " + metrics.widthPixels + " / document.body.scrollWidth; document.body.style.zoom = scale;");
}
答案 1 :(得分:10)
wb.loadUrl("javascript:document.body.style.zoom = "+String.valueOf(scale)+";");
scale
是一个浮点数,你可以计算 - 我认为在你的情况下你需要类似下面这样的东西:browser.getHeight() / 480dp
。
在网页加载完成后加载此网址。
答案 2 :(得分:3)
您可以尝试添加:
browser.getSettings().setBuiltInZoomControls(true);
browser.setInitialScale(1);
browser.setPadding(0, 0, 0, 0);
看看它是否有效?