使用Javascript获取移动设备的实际高度

时间:2013-03-25 10:16:46

标签: javascript jquery

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

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

screen.height
window.innerHeight
document.documentElement.clientHeight

$(window).height()

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

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

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

提前致谢:)

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

1 个答案:

答案 0 :(得分:0)

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

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

如果您不在活动中,可以通过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