跳到主要内容

2 篇博文 含有标签「Android」

Android 应用开发、Jetpack、Kotlin 相关技术

查看所有标签

Android 状态栏颜色设置在jetpack compose中

· 阅读需 2 分钟
chihaicheng
Front End Engineer

Kotlin Jetpack Compose 状态栏设置笔记

本文记录如何在 Kotlin Jetpack Compose 中设置状态栏颜色,同时区分了 API 21–API 34 与 API 35+ 的差异。


1. 使用 window.statusBarColor (API 21 - API 34)

  • API 历史:

    • Added in API level 21
    • Deprecated in API level 35
  • 方法签名:

    public abstract void setStatusBarColor(int color)
  • 使用方法:

val context = LocalContext.current
val window = (context as Activity).window
window.statusBarColor = Color.Blue.toArgb()

2. API 35 及以上官方推荐

  • 官方描述说明:
    在 API 35 及以后的版本中,该方法已经废弃,官方建议不再直接使用 window.statusBarColor,而是通过为 WindowInsets.Type.statusBars() 绘制合适的背景来实现类似效果。

3. 使用自定义绘制设置状态栏背景(Compose 示例)

在 Compose 中,可以结合 LocalDensityWindowInsets 来自定义绘制状态栏背景:

val density = LocalDensity.current
val statusBarHeight = WindowInsets.statusBars.getTop(density)

Box(
modifier = Modifier
.fillMaxWidth()
.height(with(density) { statusBarHeight.toDp() })
.background(Color(0xFF6200EA))
)

4. 使用WindowInsetsControllerCompat设置状态栏亮色暗色模式

val insetsControllerCompat = WindowInsetsControllerCompat(
window,
window.decorView
)
insetsControllerCompat.apply {
isAppearanceLightStatusBars = false / true
isAppearanceLightNavigationBars = false / true
}

Android 环境变量配置

· 阅读需 1 分钟
chihaicheng
Front End Engineer

📁 核心环境变量配置

环境变量名称路径示例作用说明
ANDROID_SDK_HOMED:\software\Android\.android控制模拟器(AVD)和SDK配置文件存储位置
GRADLE_USER_HOMED:\software\repository\.gradleGradle构建缓存和依赖库存储目录
KONAN_DATA_DIRD:\software\repository\.konanKotlin Native依赖缓存路径
MAVEN_HOMED:\software\JetBrains\IDEA\plugins\maven\lib\maven3Maven安装根目录
JAVACPP_CACHE_DIRD:\software\repository\.javacppJavaCPP本地库缓存目录