android Jetpack撰写材料3不拾取主题

mec1mxoz  于 2023-04-28  发布在  Android
关注(0)|答案(1)|浏览(181)

我试图建立一个新的项目与jetpack撰写材料设计3,但我不能得到的主题工作,屏幕上总是显示默认的android颜色。
下面是我的MaterialTheme()

import androidx.compose.material3.MaterialTheme

@Composable
fun AppTheme(
    darkTheme: Boolean = true,
    content: @Composable () -> Unit
) {
    val colorScheme = if (darkTheme) {
        DarkColorScheme
    } else {
        LightColorScheme
    }

    MaterialTheme(
        colorScheme = colorScheme,
        content = content
    )
}

这就是colorSchemes

import androidx.compose.material3.darkColorScheme
import androidx.compose.material3.lightColorScheme
import androidx.compose.runtime.Composable
import androidx.compose.ui.graphics.Color

private val DarkColorScheme = darkColorScheme(
    primary = DarkPrimary,
    secondary = DarkSecondary,
    background = Color.Black,
    surface = DarkBackground,
    onPrimary = Color.DarkGray,
    onSecondary = Color.White,
    onBackground = Color.White,
    onSurface = Color.White
)

private val LightColorScheme = lightColorScheme(
    primary = LightPrimary,
    secondary = LightSecondary,
    background = Color.White,
    surface = Color.White,
    onPrimary = Color.White,
    onSecondary = Color.Black,
    onBackground = Color.Black,
    onSurface = Color.Black
)

以下是一些颜色的示例:

import androidx.compose.ui.graphics.Color

val DarkBackground = Color(0xFF363636)
val DarkPrimary = Color(0xFFaac3e1)

最后,这是我如何在MainActivity.kt中使用主题:

@OptIn(ExperimentalMaterial3WindowSizeClassApi::class)
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        setContent {
            AppTheme {
                //App content...
            }
        }
    }

但当我启动应用程序时,我只看到默认的Android应用程序颜色,此屏幕截图来自启用黑暗模式的应用程序(没有黑暗模式时完全相同):

此登录页面仅包含输入、文本和按钮字段,我是否需要为主题添加一些内容,以便在我传递到主活动主题的应用内容上找到主题?
感谢任何帮助,如果我错过了一些明显的东西,我道歉!

qoefvg9y

qoefvg9y1#

正如@ ianhanniblake在他的评论中提到的。如果你要从Material 2迁移到Material 3,请确保你也从UI中删除了所有Material 2元素(文本,按钮等)。理想情况下,如果可以的话,只删除Material 2的依赖关系。

相关问题