【发布时间】:2016-01-18 21:55:10
【问题描述】:
我正在开发一个已移植到 Android 的跨平台应用程序。由于其非 Android 传统,它没有大量使用 Android UI 元素 - 主应用程序窗口是一个 View。
我想实现从 KitKat 开始支持的半透明系统(状态和导航)栏,同时确保主 View 内的 UI 元素不会被它们阻挡。
This answer 显示了如何获取这些栏的默认高度(还有navigation_bar_height_landscape 用于横向模式下的导航栏高度,navigation_bar_width 用于垂直导航栏的宽度)。但这些只是系统的默认尺寸,不包含当前是否显示导航栏以及显示在屏幕右侧还是底部边缘的信息。
到目前为止,我发现的其他答案可能适用于非半透明系统栏:它们只是将总屏幕大小与主应用程序视图的大小进行比较,不同之处在于系统栏占用的空间。但是,对于半透明系统栏,大小差异为零,这种方法不起作用。
如何可靠地确定导航栏是否正在显示以及显示在哪个位置?
【问题讨论】:
标签: android user-interface android-4.4-kitkat