cai*_*cnb 6 android-jetpack-compose
图标有默认颜色,不同主题下颜色可能不同。
当满足条件时,我希望图标的颜色变成Color.RED
,否则它使用默认颜色(例如,white
在一个主题和yellow
另一个主题上)
但我不知道如何设置的语法default color
。请帮忙,非常感谢!
val judge = ... //a mutableStateOf Boolean
...
// how to set [default color]?
Icon(painterResource(R.drawable.ic_baseline_error_outline_24),
contentDescription = null,
tint = if (judge) Color.RED else [default color])
Run Code Online (Sandbox Code Playgroud)
在 Compose Material 1.3.1 中,更改图标色调的源代码是:
val colorFilter = if (tint == Color.Unspecified) null else ColorFilter.tint(tint)
因此,只需将 Color.Unspecified 传递给图标的色调参数即可保持图标的默认色调颜色:
Icon(
painter = painterResource(id = R.drawable.your_icon),
contentDescription = null,
tint = Color.Unspecified
)
Run Code Online (Sandbox Code Playgroud)
如果您转到Icon
文件,您会看到它的值:
tint: Color = LocalContentColor.current.copy(alpha = LocalContentAlpha.current)
Run Code Online (Sandbox Code Playgroud)
你重新设置一下就可以了
归档时间: |
|
查看次数: |
4544 次 |
最近记录: |