gpt4 book ai didi

android - 当我使用 Jetpack Compose 时,如何以简单的方式在 Color.kt 中定义颜色?

转载 作者:行者123 更新时间:2023-12-05 03:18:48 25 4
gpt4 key购买 nike

我可以使用代码 A 在 Color.kt 文件中定义颜色,该文件由 Android Studio 向导自动生成,没问题。

我希望定义一个基于MaterialTheme.colors 的颜色,但是代码 B 返回以下错误。

@Composable 调用只能在@Composable 函数的上下文中发生

目前只能用Code C,不太好,有没有更好的办法?

代码A

val IconColor = Color(0xFF2E7D32)

代码 B

val IconColor = MaterialTheme.colors.onSurface.copy(alpha = 0.76f)

代码 C

@Composable
fun IconColor(): Color {
return MaterialTheme.colors.onSurface.copy(alpha = 0.76f)
}

最佳答案

你得到它是因为 MaterialTheme.colors该字段的 setter/getter 正在使用 @compsable范围,所以我找到了 2 种方法可以在 Colors.kt 中声明变量以你想要的方式。

1:

val IconColor1: @Composable () -> Color = { MaterialTheme.colors.onSurface.copy(alpha = 0.76f) }

2:

val IconColor2: Color @Composable get() = MaterialTheme.colors.onSurface.copy(alpha = 0.76f)

我希望这对您有所帮助😊

关于android - 当我使用 Jetpack Compose 时,如何以简单的方式在 Color.kt 中定义颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73604253/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com