我已尝试以下内容根据设备屏幕大小调整网页.
mWebview.setInitialScale(30);
然后设置元数据视口
WebView browser = (WebView) findViewById(R.id.webview); browser.getSettings().setLoadWithOverviewMode(true); browser.getSettings().setUseWideViewPort(true);
这可以根据屏幕大小修复大小.
您必须计算手动使用的比例,而不是设置为30.
private int getScale(){ Display display = ((WindowManager) getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay(); int width = display.getWidth(); Double val = new Double(width)/new Double(PIC_WIDTH); val = val * 100d; return val.intValue(); }
然后用
WebView web = new WebView(this); web.setPadding(0, 0, 0, 0); web.setInitialScale(getScale());
朋友们,
我发现了很多重要信息.但是,唯一适用于我的方式就是这样:
webView = (WebView) findViewById(R.id.noticiasWebView); webView.setInitialScale(1); webView.getSettings().setJavaScriptEnabled(true); webView.getSettings().setLoadWithOverviewMode(true); webView.getSettings().setUseWideViewPort(true); webView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY); webView.setScrollbarFadingEnabled(false); webView.loadUrl("http://www.resource.com.br/");
我正在使用Android 2.1,因为该公司提供的设备类型.但我使用每个信息的一部分解决了我的问题.
谢谢!
这些设置对我有用:
wv.setInitialScale(1); wv.getSettings().setLoadWithOverviewMode(true); wv.getSettings().setUseWideViewPort(true); wv.getSettings().setJavaScriptEnabled(true);
我的尝试中缺少setInitialScale(1).
虽然文档说如果setUseWideViewPort设置为true但0将完全缩小,但0对我不起作用,我必须设置1.
试试这个HTML5提示
http://www.html5rocks.com/en/mobile/mobifying.html
如果您的Android版本为2.1或更高版本,请使用此功能
WebView.getSettings().setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);
你需要做的就是简单
webView.getSettings().setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN); webView.getSettings().setLoadWithOverviewMode(true); webView.getSettings().setUseWideViewPort(true);
这些对我有用,并使WebView符合屏幕宽度:
// get from xml, with all size set "fill_parent" webView = (WebView) findViewById(R.id.webview_in_layout); // fit the width of screen webView.getSettings().setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN); // remove a weird white line on the right size webView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
感谢eclipse Web视图中的上述建议和白线
我使用此代码时遇到同样的问题
webview.setWebViewClient(new WebViewClient() { }
也许你应该在你的代码中删除它
并记得为你的webview添加以下3种模式
webview.getSettings().setJavaScriptEnabled(true); webview.getSettings().setLoadWithOverviewMode(true); webview.getSettings().setUseWideViewPort(true);
这可以根据屏幕大小修复大小
WebView browser = (WebView) findViewById(R.id.webview); browser.getSettings().setLoadWithOverviewMode(true); browser.getSettings().setUseWideViewPort(true); browser.getSettings().setMinimumFontSize(40);
这对我很有用,因为.setLoadWithOverViewMode和.setUseWideViewPort将文本大小设置得非常小.
在这种情况下,您必须在webView中使用HTML。我使用以下代码解决了这个问题
webView.loadDataWithBaseURL(null, "", "text/html", "UTF-8", null);