mar*_*ark 18 android kotlin android-jetpack-compose
即使主题设置为深色且背景为深色,应用程序中的文本仍保持黑色。只需看一下下面的代码和屏幕截图即可。
\nTheme.kt(在这里,在 中DarkColorPalette,我设置了onSurface和onBackgroundtoColor.White但它没有帮助)
private val DarkColorPalette = darkColors(\n primary = PastelGreen,\n secondary = PastelGreenTransparent,\n onPrimary = Color.White,\n onSecondary = PastelGreen,\n onBackground = Color.White,\n onSurface = Color.White\n)\n\nprivate val LightColorPalette = lightColors(\n primary = PastelGreen,\n secondary = PastelGreenTransparent,\n onPrimary = Color.White,\n onSecondary = PastelGreen,\n)\n\n@Composable\nfun EschoolTheme(darkTheme: Boolean = isSystemInDarkTheme(), content: @Composable() () -> Unit) {\n\n MaterialTheme(\n colors = if (darkTheme) DarkColorPalette else LightColorPalette,\n typography = typography,\n shapes = Shapes,\n content = content\n )\n}\nRun Code Online (Sandbox Code Playgroud)\nkt型
\nval manropeFamily = FontFamily(\n Font(R.font.light, FontWeight.Light),\n Font(R.font.regular, FontWeight.Normal),\n Font(R.font.medium, FontWeight.Medium),\n Font(R.font.bold, FontWeight.Bold),\n Font(R.font.extra_bold, FontWeight.ExtraBold),\n Font(R.font.extra_light, FontWeight.ExtraLight),\n Font(R.font.semi_bold, FontWeight.SemiBold),\n)\n\nval typography =\n Typography(\n defaultFontFamily = manropeFamily,\n h5 = TextStyle(fontWeight = FontWeight.Bold, fontSize = 23.sp,),\n button = TextStyle(letterSpacing = 0.sp, fontWeight = FontWeight.Bold)\n )\nRun Code Online (Sandbox Code Playgroud)\n屏幕代码(不关心俄语文本)
\n@Composable\nfun Onboarding() {\n EschoolTheme {\n Column(\n modifier = Modifier\n .padding(20.dp)\n ) {\n Column(\n Modifier\n .weight(1f)\n .fillMaxWidth()\n ) {\n Spacer(modifier = Modifier.weight(1f))\n Image(\n painter = painterResource(id = R.drawable.icon),\n contentDescription = "\xd0\x98\xd0\xba\xd0\xbe\xd0\xbd\xd0\xba\xd0\xb0 \xd0\xbf\xd1\x80\xd0\xb8\xd0\xbb\xd0\xbe\xd0\xb6\xd0\xb5\xd0\xbd\xd0\xb8\xd1\x8f \xd1\x81\xd0\xbe \xd1\x81\xd0\xbc\xd0\xb0\xd0\xb9\xd0\xbb\xd0\xbe\xd0\xbc, \xd1\x81\xd0\xbc\xd0\xbe\xd1\x82\xd1\x80\xd1\x8f\xd1\x89\xd0\xb8\xd0\xbc \xd1\x87\xd0\xb5\xd1\x80\xd0\xb5\xd0\xb7 \xd0\xbc\xd0\xbe\xd0\xbd\xd0\xbe\xd0\xba\xd0\xbb\xd1\x8c",\n modifier = Modifier\n .align(Alignment.CenterHorizontally)\n .size(100.dp)\n )\n Spacer(modifier = Modifier.height(30.dp))\n Text(\n "\xd0\x94\xd0\xbe\xd0\xb1\xd1\x80\xd0\xbe \xd0\xbf\xd0\xbe\xd0\xb6\xd0\xb0\xd0\xbb\xd0\xbe\xd0\xb2\xd0\xb0\xd1\x82\xd1\x8c \xd0\xb2 eschool!",\n textAlign = TextAlign.Center,\n style = MaterialTheme.typography.h5,\n modifier = Modifier.align(\n Alignment.CenterHorizontally\n )\n )\n Spacer(modifier = Modifier.weight(1f))\n }\n Text(\n "\xd0\x97\xd0\xb4\xd0\xb5\xd1\x81\xd1\x8c \xd1\x82\xd1\x8b \xd0\xbc\xd0\xbe\xd0\xb6\xd0\xb5\xd1\x88\xd1\x8c \xd0\xb1\xd1\x8b\xd1\x81\xd1\x82\xd1\x80\xd0\xbe \xd0\xb4\xd0\xb5\xd0\xbb\xd0\xb8\xd1\x82\xd1\x8c\xd1\x81\xd1\x8f \xd0\xb4\xd0\xbe\xd0\xbc\xd0\xb0\xd1\x88\xd0\xba\xd0\xbe\xd0\xb9 \xd0\xb8 \xd1\x80\xd0\xb0\xd1\x81\xd0\xbf\xd0\xb8\xd1\x81\xd0\xb0\xd0\xbd\xd0\xb8\xd0\xb5\xd0\xbc \xd1\x81\xd0\xbe \xd1\x81\xd0\xb2\xd0\xbe\xd0\xb8\xd0\xbc\xd0\xb8 \xd0\xbe\xd0\xb4\xd0\xbd\xd0\xbe\xd0\xba\xd0\xbb\xd0\xb0\xd1\x81\xd1\x81\xd0\xbd\xd0\xb8\xd0\xba\xd0\xb0\xd0\xbc\xd0\xb8 \xd0\xb1\xd0\xb5\xd0\xb7 \xd0\xb2\xd1\x81\xd1\x8f\xd0\xba\xd0\xb8\xd1\x85 \xd0\xbc\xd0\xb5\xd1\x81\xd1\x81\xd0\xb5\xd0\xbd\xd0\xb6\xd0\xb4\xd0\xb6\xd0\xb5\xd1\x80\xd0\xbe\xd0\xb2. \xd0\x98\xd1\x81\xd0\xbf\xd0\xbe\xd0\xbb\xd1\x8c\xd0\xb7\xd1\x83\xd0\xb9 \xd1\x8d\xd1\x82\xd0\xbe \xd0\xbf\xd1\x80\xd0\xb8\xd0\xbb\xd0\xbe\xd0\xb6\xd0\xb5\xd0\xbd\xd0\xb8\xd0\xb5 \xd0\xba\xd0\xb0\xd0\xba \xd1\x88\xd0\xba\xd0\xbe\xd0\xbb\xd1\x8c\xd0\xbd\xd1\x8b\xd0\xb9 \xd0\xb4\xd0\xbd\xd0\xb5\xd0\xb2\xd0\xbd\xd0\xb8\xd0\xba, \xd0\xb2 \xd0\xba\xd0\xbe\xd1\x82\xd0\xbe\xd1\x80\xd1\x8b\xd0\xb9 \xd1\x82\xd1\x8b \xd0\xbe\xd0\xb1\xd1\x8b\xd1\x87\xd0\xbd\xd0\xbe \xd0\xb7\xd0\xb0\xd0\xbf\xd0\xb8\xd1\x81\xd1\x8b\xd0\xb2\xd0\xb0\xd0\xb5\xd1\x88\xd1\x8c \xd0\xb4/\xd0\xb7 \xd0\xb8 \xd1\x80\xd0\xb0\xd1\x81\xd0\xbf\xd0\xb8\xd1\x81\xd0\xb0\xd0\xbd\xd0\xb8\xd0\xb5. \xd0\x92\xd1\x81\xd1\x91, \xd1\x87\xd1\x82\xd0\xbe \xd1\x82\xd1\x8b \xd0\xb7\xd0\xb0\xd0\xbf\xd0\xb8\xd1\x81\xd1\x8b\xd0\xb2\xd0\xb0\xd0\xb5\xd1\x88\xd1\x8c \xd1\x81\xd1\x8e\xd0\xb4\xd0\xb0, \xd0\xb1\xd1\x83\xd0\xb4\xd0\xb5\xd1\x82 \xd1\x81\xd1\x80\xd0\xb0\xd0\xb7\xd1\x83 \xd0\xb2\xd0\xb8\xd0\xb4\xd0\xbd\xd0\xbe \xd0\xb8 \xd1\x82\xd0\xb2\xd0\xbe\xd0\xb8\xd0\xbc \xd0\xbe\xd0\xb4\xd0\xbd\xd0\xbe\xd0\xba\xd0\xbb\xd0\xb0\xd1\x81\xd1\x81\xd0\xbd\xd0\xb8\xd0\xba\xd0\xb0\xd0\xbc. \xd0\xa2\xd0\xb5\xd0\xb1\xd0\xb5 \xd0\xb1\xd0\xbe\xd0\xbb\xd1\x8c\xd1\x88\xd0\xb5 \xd0\xbd\xd0\xb5 \xd0\xbf\xd1\x80\xd0\xb8\xd0\xb4\xd1\x91\xd1\x82\xd1\x81\xd1\x8f \xd0\xb6\xd0\xb4\xd0\xb0\xd1\x82\xd1\x8c \xd0\xbe\xd1\x82\xd0\xb2\xd0\xb5\xd1\x82\xd0\xb0 \xd0\xbe\xd1\x82 \xd1\x82\xd0\xb2\xd0\xbe\xd0\xb8\xd1\x85 \xd0\xbe\xd0\xb4\xd0\xbd\xd0\xbe\xd0\xba\xd0\xbb\xd0\xb0\xd1\x81\xd1\x81\xd0\xbd\xd0\xb8\xd0\xba\xd0\xbe\xd0\xb2 \xd0\xb2 \xd0\xbc\xd0\xb5\xd1\x81\xd1\x81\xd0\xb5\xd0\xbd\xd0\xb4\xd0\xb6\xd0\xb5\xd1\x80\xd0\xb0\xd1\x85 \xd0\xb8\xd0\xbb\xd0\xb8 \xd0\xbd\xd0\xb0\xd0\xbe\xd0\xb1\xd0\xbe\xd1\x80\xd0\xbe\xd1\x82 \xd0\xbe\xd1\x82\xd0\xb2\xd0\xb5\xd1\x87\xd0\xb0\xd1\x82\xd1\x8c \xd0\xb8\xd0\xbc. \xd0\xa7\xd1\x82\xd0\xbe\xd0\xb1\xd1\x8b \xd0\xbd\xd0\xb0\xd1\x87\xd0\xb0\xd1\x82\xd1\x8c \xd0\xbf\xd0\xbe\xd0\xbb\xd1\x8c\xd0\xb7\xd0\xbe\xd0\xb2\xd0\xb0\xd1\x82\xd1\x8c\xd1\x81\xd1\x8f \xd0\xbf\xd1\x80\xd0\xb8\xd0\xbb\xd0\xbe\xd0\xb6\xd0\xb5\xd0\xbd\xd0\xb8\xd0\xb5\xd0\xbc, \xd0\xbd\xd0\xb0\xd0\xb4\xd0\xbe \xd0\xb2\xd0\xbe\xd0\xb9\xd1\x82\xd0\xb8 \xd0\xb2 \xd0\xb0\xd0\xba\xd0\xba\xd0\xb0\xd1\x83\xd0\xbd\xd1\x82.",\n style = MaterialTheme.typography.body2\n )\n Spacer(modifier = Modifier.height(20.dp))\n LargeButton(onClick = { /*TODO*/ }, secondary = true) {\n Text("\xd0\xa3 \xd0\xbc\xd0\xb5\xd0\xbd\xd1\x8f \xd1\x83\xd0\xb6\xd0\xb5 \xd0\xb5\xd1\x81\xd1\x82\xd1\x8c \xd0\xb0\xd0\xba\xd0\xba\xd0\xb0\xd1\x83\xd0\xbd\xd1\x82")\n }\n Spacer(modifier = Modifier.height(10.dp))\n LargeButton(onClick = { /*TODO*/ }) {\n Text("\xd0\xaf \xd1\x82\xd1\x83\xd1\x82 \xd0\xb2 \xd0\xbf\xd0\xb5\xd1\x80\xd0\xb2\xd1\x8b\xd0\xb9 \xd1\x80\xd0\xb0\xd0\xb7")\n }\n }\n }\n}\n\nRun Code Online (Sandbox Code Playgroud)\n截图
\n\n如果您需要更多代码,请问我,我会提供
\nGab*_*tti 29
中的颜色Text由color参数或应用TextStyle. 默认值为Color.Unspecified。
如果 color =Color.Unspecified且 style 没有设置颜色,则如果未指定,这将LocalContentColor提供默认颜色。Color.Black
您有不同的选择:
Surface。在这种情况下,它将使用Colors.onSurface您的主题中指定的内容。 Surface(){
Column(){
Text(){...}
}
}
Run Code Online (Sandbox Code Playgroud)
使用可组合color项中的参数Text
使用style参数:
Text(style = LocalTextStyle.current.copy(color = Red)){...}
Run Code Online (Sandbox Code Playgroud)
LocalContentColor覆盖默认颜色BlackCompositionLocalProvider(LocalContentColor provides MaterialTheme.colors.xxx) {
Text()
}
Run Code Online (Sandbox Code Playgroud)
您可以Text使用 usingcolor或 usingstyle值指定颜色。
当没有为这两个指定值时,Text撰写时将使用LocalContentColor值,该值是默认值Black并且不依赖于主题
如果您想更改整个应用程序的默认文本颜色,最好的解决方案是在引入主题后立即覆盖此值:
setContent {
YourTheme {
CompositionLocalProvider(
LocalContentColor provides MaterialTheme.colors.onSecondary // replace this with needed color from your pallete
) {
Content()
}
}
}
Run Code Online (Sandbox Code Playgroud)
CompositionLocalProvider您也可以使用应用程序的任何部分再次覆盖此值
| 归档时间: |
|
| 查看次数: |
5690 次 |
| 最近记录: |