android 状态栏高度获取

记录踩过的坑,希望帮到你!

复制代码
//composable获取
@Composable
fun StatusBarHeight(): Int {
    val insets = WindowInsets.statusBars
    // insets.getBottom(LocalDensity.current)获取到的数值不能作为px直接使用,必须要进行转换
    val dp = with(LocalDensity.current) { insets.getTop(LocalDensity.current).toDp() }
    return dp.value.roundToPx()
}

//kotlin获取
​​​​​​ fun BottomBarHeight(): Int {
        val insets = ViewCompat.getRootWindowInsets(window.decorView)
//获取到的数值不能作为px直接使用,必须要进行转换
        val statusBarHeight = insets?.getInsets(WindowInsetsCompat.Type.statusBars())?.top ?: 0
         return statusBarHeight.toDp().value.roundToPx()
    }
相关推荐
智慧物业老杨2 小时前
物业日常巡查的数智化重构:从“打卡式巡检“到“闭环式风控“
android·java·人工智能·系统架构·rxjava
alexhilton8 小时前
藏在设备上的秘密,终究藏不住
android·kotlin·android jetpack
hai_android14 小时前
Kotlin / Android 常用函数使用示例手册
android·java·kotlin
hai_android15 小时前
Android MeasureSpec 详解
android·java·kotlin
又见情义17 小时前
RK3568 Android 13 本地 U 盘 OTA 升级实战:基于 RKUpdateService 的完整流程
android
Godikov18 小时前
Android10后台弹窗与APK自动更新
android
又见情义19 小时前
RK3568 Android 13 USB OTG/Host 切换调试经验分享
android
终端安全笔记20 小时前
iOS 27 之后「策略空转」:设备升级不报错,但旧策略不再管它
android·网络·安全·ios·智能手机
JMchen21 小时前
实战案例:实现120fps流畅的渐变进度条
android·kotlin·canvas
敲代码的瓦龙21 小时前
Jetpack?DataBinding!!!
android·java·开发语言·mysql·android-studio