我试图弄清楚在我的应用程序开始时纵向和横向的屏幕尺寸。
我可以得到真正的显示尺寸Display.getRealSize()
,然后计算导航栏的高度,以防万一。
但是,在具有600dp
或更少导航栏的设备中,导航栏可能具有不同的高度(取决于方向),甚至可能在横向模式下向右移动。
我的应用程序在开始时需要知道这些参数(应用程序连接到在连接时接收这些维度的云服务器 - 所以我真的需要在应用程序开始做事之前知道这些)。
我目前的解决方案是这样的:
Resources res = Resources.getSystem();
id = res.getIdentifier("navigation_bar_height", "dimen", "android");
int navigation_bar_height = res.getDimensionPixelSize(id);
虽然这可行,但使用 android 的内部资源从来都不是一个好习惯。
在旋转设备之前,还有其他方法可以了解不同方向的屏幕尺寸吗?