【问题标题】:Galaxy SIII ignoring setDefaultZoom? UPDATE: JellyBean issue with WebView?Galaxy SIII 忽略 setDefaultZoom?更新:WebView 的 JellyBean 问题?
【发布时间】:2012-09-05 19:21:54
【问题描述】:

更新:这实际上是一个 JellyBean 问题:

运行 ICS 的模拟器:

运行 JB 的模拟器:

所以模拟器设置是一样的(API 级别明显不同)。在 3 种不同的设备上进行了测试和验证:Nexus S、Galaxy Nexus 和 GS3。

我有一个显示几个不同网页的 webView 活动。我根据显示的 url 更改默认缩放设置。 以下行:

webSettings.setDefaultZoom(WebSettings.ZoomDensity.FAR);

正在生成在 ICS 中看到的视图(我在 2.2-4.0.4 中得到相同的行为),但是对于 JellyBean,似乎 DefaultZoom 没有被识别。

还有人遇到这个吗?我觉得这是 JellyBean 的一个错误,但在提交之前想在这里检查一下。

【问题讨论】:

    标签: android webview android-4.2-jelly-bean


    【解决方案1】:

    这是一个旧线程,但如果您仍然遇到同样的问题,我找到了一个为我解决了类似问题的设置。该问题出现在三星平板电脑上的 Jelly Bean (4.1.2) 上。

    webView.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);
    

    【讨论】:

      【解决方案2】:

      试试这个并告诉我它是否有效......它应该可以处理适合 fone 屏幕的页面!

       WebView wv = (WebView) findViewById(R.id.webview);
          wv.getSettings().setLoadWithOverviewMode(true);
          wv.getSettings().setUseWideViewPort(true);
      

      【讨论】:

      • 不,那没用。它实际上使它在我的模拟器上看起来像上面 s3 的图片。
      • 试试这个 WebView.setInitialScale(1);
      • 如果上述方法不起作用....那么试试这个...非常便宜的方法...但它会起作用... mWebView.setVisibility(View.GONE); mWebView.loadData("你的网址"); mWebView.reload(); mWebView.setVisibility(View.VISIBLE);
      • 这两个想法都没有奏效。还是放大得太远了。这就是为什么我有以下内容: webSettings.setDefaultZoom(WebSettings.ZoomDensity.FAR);但 s3 似乎忽略了它。
      【解决方案3】:

      我使用 getSettings().setUseWideViewPort(true) 在我自己的应用程序上“修复”了它。

      但是,这是一种不当行为 - 在所有其他设备上看起来都是错误的。 ** 三星因破坏 API 的行为而感到羞耻 ** 正常工作的设备:Galaxy Nexus、HTC One X 等。

      【讨论】:

      • 你是如何“修复”它的?您在所有设备上都使用 setUseWideViewPort 吗?除非我将DefaultZoom 设置为 FAR,否则它在我的模拟器中看起来不正确
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-04
      • 2020-07-25
      • 1970-01-01
      • 1970-01-01
      • 2011-09-02
      相关资源
      最近更新 更多