如何使WebView限制屏幕大小

时间:2014-06-16 11:27:19

标签: android user-interface android-webview google-form

我注意到,任何主要的移动浏览器(Chrome,股票浏览器,歌剧)都可以完美地显示这种谷歌形式的网页,因为用户无法侧滚动但可以垂直滚动。 http://oi58.tinypic.com/dpbtz8.jpg

但是,在我的应用程序的WebView中,会显示一个更大的窗口,并且可以进行侧滚动,这是我不想要的。 http://oi59.tinypic.com/mcwy2q.jpg

关于如何做到这一点的任何想法?

修改 搞乱了表单的html后,我意识到如果它检测到屏幕大小小于或等于721像素,它会将css样式表设置为移动版本。所以我猜我使用的主要浏览器以某种方式“欺骗”网页,让人联想到一个小屏幕的设备正在看到它。有谁知道怎么做?

EDIT2: 通过在加载完成后将javascript注入网页,我找到了一个相当丑陋的解决方案。这是我使用注入的js更改的标记: <link href='/static/forms/client/css/1446748018-mobile_formview_ltr.css' type='text/css' rel='stylesheet' media='screen and (max-device-width: 721px)'>

我在应用中使用的命令:webView.loadUrl("javascript:document.getElementsByTagName('link')[3].media = 'screen and (max-device-width: 5000px)';"); 在这样做时,我将移动css样式表应用于网页的最大屏幕宽度设置为高得惊人的高度 - 5000px。这样就可以始终应用移动css。

IMO这是一个非常草率的解决方案,如果有人有更好的请分享

1 个答案:

答案 0 :(得分:0)

这是因为这些页面有一个移动视口,但WebView不会尊重它,除非你打电话

webSettings.setUseWideViewPort(true);