You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jetpack Compose:如何根据系统明暗模式设置图片颜色滤镜?

Jetpack Compose 适配深浅模式的图片颜色滤镜实现

直接借助Compose内置的isSystemInDarkTheme()方法就能判断当前系统的深浅模式,动态给图片设置对应颜色的滤镜即可。需要注意Kotlin语法规范,if表达式需添加括号:

Image(
    painter = painterResource(id = R.drawable.app_logo),
    contentDescription = "应用图标", // 建议添加有意义的内容描述,提升无障碍体验
    colorFilter = ColorFilter.tint(
        color = if (isSystemInDarkTheme()) {
            Color.White
        } else {
            Color.Black
        }
    ),
    modifier = Modifier
        .size(125.dp, 125.dp)
        .align(Alignment.TopCenter)
        .offset(y = 50.dp)
)

如果使用的是自定义Compose主题,而非系统默认主题,也可以通过主题中维护的深色模式状态变量(比如自定义主题里的isDarkTheme)来替代isSystemInDarkTheme(),实现逻辑完全一致。

内容的提问来源于stack exchange,提问作者GVG

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 01:40:33