在 WebView 中加载 URL 并将其调整大小以适应屏幕是否可能?我的意思是,我想让网页变小,这样用户就不需要滚动。这是否可行?
您也可以尝试为此设置布局算法。这对我有效。
webview.getSettings().setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);
将初始比例设置为1。然后缩放以填充屏幕。尚未测试此方法在非常长的网站上的效果(例如,具有大量评论的博客文章),但它适用于Droid X和带有标准网页的HTC Aria。
WebView.setInitialScale(1);
我将继续测试不同的网页,但目前这是我为此问题提供的最佳解决方案。
编辑:在Droid X和Aria上测试了一个非常长的网页,结果都是正面的。将初始比例设置为0似乎把整个东西关闭,导致初始比例为100。我对这些结果感到满意,希望能帮助其他遇到此问题的人。
wb.getSettings().setLoadWithOverviewMode(true);
wb.getSettings().setUseWideViewPort(true);
webview_settings.setLoadWithOverviewMode(true);
webview_settings.setUseWideViewPort(true);
webview_settings.setBuiltInZoomControls(true);
通过以下操作,我可以将整个页面包含在我的视图中。首先将宽度和高度设置为wrap_content。然后将初始缩放比例设置为1,如下所示:
WebView webview = (WebView) currentActivity.findView(R.layout.web_view, R.id.webview);
webview.setInitialScale(1);
我发现可以通过以下方式将宽度保持在最小限度,以便显示可读的字体并在每次沿y坐标滚动时进行。首先将高度和宽度都设置为wrap_content。然后在代码中将缩放密度设置为far,如下所示:
WebView webview = (WebView) currentActivity.findView(R.layout.web_view, R.id.webview);
webview.getSettings().setDefaultZoom(ZoomDensity.FAR);
大多数情况下,这可能是更好的解决方案。考虑一下,如果您完整地显示以下网页,那么字体会变得多小:
WebView.zoomOut()
直到返回false
吗?webview.setInitialScale(number);
数字越高,页面缩放得越多。从较低的数字(如10)开始,根据个人喜好进行调整。
webview.getSettings().setBuiltInZoomControls(true);
我在对话框中使用了WebView的WRAP_CONTENT来设置宽度和高度,虽然当网页变得太大时,WebView会将所有其他小部件都推出屏幕。
安卓的布局系统相当不直观!