我有一个非常简单的活动,具有以下布局......
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<WebView
android:id="@+id/webview"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
</WebView>
</LinearLayout>
The Activity
其本身设置为全屏(没有标题栏和 Android 通知栏)并强制横向显示。
所以...在我的 HTC Desire 上,WebView
理论上占用800x480(宽x高)像素。到目前为止一切都很好,它确实完全填满了屏幕。
我的困惑是WebView
从服务器加载 HTML 文档,该文档使用 JavaScript 函数来获取屏幕宽度和高度...
<script type="text/javascript">
<!--
function getDims() {
var screenW = screen.width;
var screenH = screen.height;
return "size=" + screenW + "x" + screenH;
};
-->
</script>
...问题是screenW
是 527 并且screenH
是320,我不明白为什么。
看看 320 的高度,它正好是 480 的三分之二,所以我然后查看了 800 的三分之二(~533)。所以看来两者screen.width
and screen.height
在 JavaScript 中报告了三分之二的实际可用像素。
谁能解释为什么会发生这种情况?
对于网站,您可以使用网站中的元标记来控制 Android 中的屏幕尺寸。
“屏幕”尺寸有低 dpi、中 dpi 和高 dpi 三种设置。
因此设备会自动缩放您的网站(如果您没有设置任何内容,则假定为中等 dpi)
在 javascript 中,你无法获得设备的确切像素大小,你得到的更像是设备位于该区域的某个位置......
对此的一个很好的解释可以在这里找到:http://developer.android.com/guide/webapps/targeting.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)