【问题标题】:Android responsive Website is shown in Browser, but not in WebviewAndroid 响应式网站显示在浏览器中,但不在 Webview 中
【发布时间】:2014-06-15 07:39:17
【问题描述】:

在我的应用程序中,我有一个 webview,它应该显示一个响应式网站。显示移动版的设备宽度限制为 767 px,因此分辨率为 1280x720 的智能手机可以正确显示移动网站。

当我现在在我的 s4(分辨率:1920 x 1080)上打开应用程序时,我希望 webview 能够显示正常的桌面网站,并且确实如此。但是当我在 Chrome 等普通网络浏览器中打开它时,会显示响应式布局。

谁能解释这种行为?是否也可以在 s4 上的 webview 中显示响应式网站?

网页包含以下内容

<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">

您好, 珍妮莫

【问题讨论】:

    标签: android browser webview responsive-design


    【解决方案1】:

    首先,s4 具有 1920 x 1080 分辨率,但这并不意味着屏幕为 1920 x 1080 像素宽和高。三星的设备像素密度为 3.0 (http://bjango.com/articles/min-device-pixel-ratio/),这意味着 1 个 css px 是 3px(阅读此以获取更多信息:http://www.quirksmode.org/blog/archives/2010/04/a_pixel_is_not.html)因此您必须将该数字除以 3 以获得 CSS PIXEL 单元即:640 x 360px。

    这可能是您在移动/网络浏览器上看不到预期内容的原因

    【讨论】:

    • 好的,谢谢您的回答,但是,为什么在本机Web浏览器中显示响应式布局,而在Web视图中却没有?本地浏览器和 webview 的行为不一样吗?区别在哪里?
    • 桌面站点与您所说的“响应式站点”有何不同?应该有一个响应式网站。你有任何代码或链接要显示吗?
    • 通过分析设备宽度不同。并且宽度直到 767 像素,该站点应显示为响应式。不幸的是,我没有要显示的代码,抱歉。
    • 嗯,这不是它应该如何工作的,宽度不会使网站响应。您应该使用流畅的布局并使用媒体查询作为断点,并且只有一个网站可以很好地适应任何屏幕。没有代码就无法提供帮助,很抱歉
    • @jennymo 你解决过这个问题吗?我现在实际上面临同样的问题。
    【解决方案2】:

    如果您没有在应用中导入 javascript,您可以尝试编写我给出的示例代码,首先您需要启用 javascript 然后添加Android webview

    中的这些代码行
     WebSettings webSettings = mWebview.getSettings();
     webSettings.setJavaScriptEnabled(true);
     webSettings.setUseWideViewPort(true);
     webSettings.setLoadWithOverviewMode(true);
    

    尝试添加这些行,它可能对我有所帮助,并且对我有用

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-10
      • 1970-01-01
      • 1970-01-01
      • 2015-04-06
      • 2013-05-24
      • 2015-05-30
      • 2016-12-19
      • 2012-07-28
      相关资源
      最近更新 更多