0

我试图弄清楚在我的应用程序开始时纵向和横向的屏幕尺寸。

我可以得到真正的显示尺寸Display.getRealSize(),然后计算导航栏的高度,以防万一。

但是,在具有600dp或更少导航栏的设备中,导航栏可能具有不同的高度(取决于方向),甚至可能在横向模式下向右移动。

我的应用程序在开始时需要知道这些参数(应用程序连接到在连接时接收这些维度的云服务器 - 所以我真的需要在应用程序开始做事之前知道这些)。

我目前的解决方案是这样的:

Resources res = Resources.getSystem();
id = res.getIdentifier("navigation_bar_height", "dimen", "android");
int navigation_bar_height = res.getDimensionPixelSize(id);

虽然这可行,但使用 android 的内部资源从来都不是一个好习惯。

在旋转设备之前,还有其他方法可以了解不同方向的屏幕尺寸吗?

4

1 回答 1

0

要获取设备的尺寸。请尝试以下代码

    DisplayMetrics dm = new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(dm);
    final int height=dm.heightPixels;
    final int width=dm.widthPixels;
于 2013-03-12T06:29:24.817 回答