安卓获取状态栏(Status Bar)高度
推荐方案:WindowInsetsCompat(API 20+)
兜底方案:读取系统资源 dimen
旧方案:反射(不推荐)
从源码看:为什么是 24dp,但为什么不建议写死
Compose 中的写法
顺带一提:导航栏高度
异形屏幕的注意事项
方案对比
总结
参考来源
本文首发地址 https://h89.cn/archives/190.html
在应用开发过程中,我们经常需要动态计算状态栏高度,比如做沉浸式布局、给顶部控件动态加 padding,或者做全屏适配。Android 获取状态栏高度的方法这些年变化不小,下面按推荐程度排序介绍。
推荐方案:WindowInsetsCompat(API 20+)
从 API 20 开始,官方提供 WindowInsets 获取系统栏尺寸。为了兼容旧版本,实际开发中用 androidx.core.view.WindowInset