我正在使用Android Studio在Java中开发一个Android应用程序,需要计算应用程序窗口的neto大小(宽度和高度,不包括导航和状态栏)。应该考虑到应用程序可以在各种模式下显示,包括“正常视图”(全屏),“分割视图”,或“弹出视图”(三星功能).我如何计算应用程序的窗口大小考虑所有这些显示模式?
sqxo8psd1#
这段代码对我来说很有用。但是,必须注意的是,它还没有在所有屏幕场景和API版本中进行彻底测试:
Point size = new Point(); activity.getWindowManager().getDefaultDisplay().getSize(size);
字符串根据API文档:API级别29及以下-返回整个显示的大小(基于当前旋转)减去系统装饰区域。API级别30及以上-返回当前进程中顶部正在运行的Activity的大小。如果当前进程没有正在运行的Activity,则返回设备默认显示的大小,包括系统装饰区域。
1条答案
按热度按时间sqxo8psd1#
这段代码对我来说很有用。但是,必须注意的是,它还没有在所有屏幕场景和API版本中进行彻底测试:
字符串
根据API文档:
API级别29及以下-返回整个显示的大小(基于当前旋转)减去系统装饰区域。
API级别30及以上-返回当前进程中顶部正在运行的Activity的大小。如果当前进程没有正在运行的Activity,则返回设备默认显示的大小,包括系统装饰区域。