Android-Android获取屏幕大小为什么会自动减去状态栏高度

2025-05-02 09:23:50
推荐回答(4个)
回答1:

android从3.2版本开始获取屏幕区域高度会自动减去状态栏高度;如果想获取真实的屏幕尺寸,可以使用反射方法getRealHeight();

回答2:

亲,请问你能把你获取屏幕大小的代码加上么?
如果你的Activity不是全屏,那你的Activty就是去除状态栏的,所以要去掉状态栏的高度。

回答3:

public int getDisplayScreenHeight()
{
int screenHeight = 0;

DisplayMetrics metrics = new DisplayMetrics();
Display display = getWindowManager().getDefaultDisplay();
display.getMetrics(metrics);

int ver = Build.VERSION.SDK_INT;
if (ver < 13)
{
screenHeight = metrics.heightPixels;
}
else if (ver == 13)
{
try {
Method method = display.getClass().getMethod("getRealHeight");
screenHeight = (Integer) method.invoke(display);
} catch (Exception e) {
e.printStackTrace();
}
}
else if (ver > 13)
{
try {
Method method = display.getClass().getMethod("getRawHeight");
screenHeight = (Integer) method.invoke(display);
} catch (Exception e) {
e.printStackTrace();
}
}

return screenHeight;
}

回答4:

1.状态栏跟系统的状太栏差不多