在 Kotlin 项目中使用 MaterialTheme 更改颜色的问题
Problems changing the Color with MaterialTheme in a project of Kotlin
我在更改 material 主题的颜色时遇到了麻烦,这是我的:
Surface(
modifier = Modifier
.fillMaxWidth()
.height(400.dp)
.constrainAs(surface) {
bottom.linkTo(parent.bottom)
},
color = MaterialTheme.colors.Background,
shape = RoundedCornerShape(topEndPercent = 8, topStartPercent = 8)
)
另外我还有这个:
private val LightColorPalette = lightColors(
primary = Purple500,
primaryVariant = Purple700,
secondary = Teal200,
background = Background
)
还有这个
val Purple200 = Color(0xFFBB86FC)
val Purple500 = Color(0xFF6200EE)
val Purple700 = Color(0xFF3700B3)
val Teal200 = Color(0xFF03DAC5)
val Background =Color(red = 252, green = 237, blue = 203)
但是当我看到应用程序时,背景是白色的,我不知道为什么,会是什么问题?
您必须使用使用您的调色板的 MaterialTheme
可组合项来包装您的内容,如下所示:
MaterialTheme(
colors = LightColorPalette,
) {
Surface(
...
)
}
此处描述:https://developer.android.com/jetpack/compose/themes/material
正如 Jan Bina 所说,问题是我没有使用我的 MatherialTheme,所以在 MainActivity 中我做了这个更改:
来自这里:
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
LoginScreen()
}
}
}
为此:
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
OrderForYouTheme {
LoginScreen()
}
}
}
}
我在更改 material 主题的颜色时遇到了麻烦,这是我的:
Surface(
modifier = Modifier
.fillMaxWidth()
.height(400.dp)
.constrainAs(surface) {
bottom.linkTo(parent.bottom)
},
color = MaterialTheme.colors.Background,
shape = RoundedCornerShape(topEndPercent = 8, topStartPercent = 8)
)
另外我还有这个:
private val LightColorPalette = lightColors(
primary = Purple500,
primaryVariant = Purple700,
secondary = Teal200,
background = Background
)
还有这个
val Purple200 = Color(0xFFBB86FC)
val Purple500 = Color(0xFF6200EE)
val Purple700 = Color(0xFF3700B3)
val Teal200 = Color(0xFF03DAC5)
val Background =Color(red = 252, green = 237, blue = 203)
但是当我看到应用程序时,背景是白色的,我不知道为什么,会是什么问题?
您必须使用使用您的调色板的 MaterialTheme
可组合项来包装您的内容,如下所示:
MaterialTheme(
colors = LightColorPalette,
) {
Surface(
...
)
}
此处描述:https://developer.android.com/jetpack/compose/themes/material
正如 Jan Bina 所说,问题是我没有使用我的 MatherialTheme,所以在 MainActivity 中我做了这个更改:
来自这里:
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
LoginScreen()
}
}
}
为此:
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
OrderForYouTheme {
LoginScreen()
}
}
}
}