在 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()
            }


        }
    }
}