保质期管理 app,使用主题颜色区分过期和未过期状态

发布时间: 2023-06-12 14:30:12 作者: 大象笔记

例如想使用 Android Material Design 3 主题中定义好的颜色,来着重显示过期状态。这样就能兼顾日间模式和夜间模式了,不需要手动判断。

themes.xml

<resources>
    <style name="Theme.ShelfLife2" parent="Theme.Material3.Light.NoActionBar">
        <item name="colorPrimary">@color/md_theme_light_primary</item>
        <item name="colorOnError">@color/md_theme_light_onError</item>
	...

使用 Material 主题色

R.attr.colorPrimary

保质期管理中,判断物品如果已过期,则设置不同的颜色,这里用了 R.attr.colorError。

Kotlin 示例代码:

val errorColor = MaterialColors.getColor(binding.timeLeft, com.google.android.material.R.attr.colorError)
binding.timeLeft.setTextColor(errorColor)

如果是 XML Layout 文件中,则应该是:

android:textColor="?attr/colorError"

切换夜间模式测试

TODO

参考

我是一名山东烟台的开发者,联系作者