1

有没有办法在 javascript/jQuery 中以纵向模式获取 Android 设备的实际设备高度?我正在使用带有 Android 版本 2.3.6 的 Galaxy S Advance

到目前为止,我已经尝试了以下选项:

screen.height
window.innerHeight
document.documentElement.clientHeight

$(window).height()

所有这些选项都返回 450 像素,这不是设备高度。像素比是 1.5,所以 450*1.5 = 675。我的实际设备高度应该是 800,所以我错过了地址栏的 125 像素。

有没有办法计算实际屏幕的高度?

我知道这不会是 800,而是 800/1.5,即 533。

提前致谢 :)

PS。抱歉,如果有任何混淆,但问题是关于我必须在 Android 上测试的网站,而不是 Java 应用程序。

4

1 回答 1

0

如果您想要以像素为单位的高度值,您可以使用 getSize:

Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int height = size.y;

如果您不在 Activity 中,您可以通过 WINDOW_SERVICE 获得默认显示:

WindowManager wm = (WindowManager) ctx.getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();

在引入 getSize 之前(在 API 级别 13 中),您可以使用现在已弃用的 getHeight 方法:

Display display = getWindowManager().getDefaultDisplay(); 
int height = display.getHeight();  // deprecated
于 2013-03-25T10:25:45.390 回答