7、Copmose自定义颜色和主题切换

Copmose自定义颜色和主题切换

一起颜色的设置的都是在res/values/colors里面去做颜色, 但是当使用compose的时候,抛弃了使用了ui.theme底下的Color.kt和Theme.kt 但是默认使用的是MaterialTheme主题,里面的颜色字段不能定义,因此需要自定义这个:
我先查看MaterialTheme 里面的颜色主题是怎么定义的,然后照葫芦画瓢。
android官网 对应自定义的解释,可以根据官网来进行操作

Compose 中的自定义设计系统

CustomColorScheme.kt


import androidx.compose.runtime.Stable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.setValue
import androidx.compose.ui.graphics.Color

@Stable
class CustomColorScheme(
    pureWhite: Color,
    pureBlack: Color,
    homeButtonBg: Color,
    textColor: Color,
	......
	// 根据项目需要去添加字段
) {
   
    var pureWhite by mutableStateOf(pureWhite)
        private set
    var pureBlack by mutableStateOf(pureBlack)
        private set
    var homeButtonBg by mutableStateOf(homeButtonBg)
        private set
    var textColor by mutableStateOf(textColor)
        private set
	......

    fun update(colors: CustomColorScheme) {
   
        this.pureWhite 

你可能感兴趣的:(Kotlin,Compose,android,android,kotlin)