撰写 - 自定义 MaterialTheme 颜色不起作用?

时间:2021-05-18 04:04:44

标签: android android-jetpack-compose

我想使用 Compose 自定义颜色系统,但它不起作用。它受 themes.xml 中的颜色影响。

活动

class DemoComposeMainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        setContent {
            val colorPrimary = colorResource(R.color.md_green_500)
            val colorSecondary = colorResource(R.color.md_orange_500)

            val colors = lightColors(
                    primary = colorPrimary,
                    primaryVariant = colorPrimary,
                    onPrimary = Color.White,
                    secondary = colorSecondary,
                    secondaryVariant = colorSecondary,
                    onSecondary = Color.White)

            MaterialTheme(colors = colors) {
                // TODO
            }
        }
    }

}

请帮帮我。谢谢。

image

1 个答案:

答案 0 :(得分:2)

状态栏颜色基于您的应用主题中定义的 android:statusBarColor
如果您想更改状态栏颜色,您可以使用 accompanist 库。

类似的东西。

        val systemUiController = rememberSystemUiController()
        val useDarkIcons = MaterialTheme.colors.isLight

        SideEffect {
            systemUiController.setSystemBarsColor(
                color = Color.Transparent,
                darkIcons = useDarkIcons
            )

            // setStatusBarsColor() and setNavigationBarsColor() also exist
        }