You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android AVD始终使用默认Material3主题,无法应用自定义主题求助

问题描述

这个问题已经困扰我好几天了。Android Studio的AVD似乎只会给我的应用套用默认的Material3主题。同一套代码在另一台设备上用完全相同的AVD配置运行正常,所以我推测问题和硬件有关——换了新硬件后这个功能就失效了。

已尝试的无效方案
  • 测试了多款API 33版本的AVD默认配置,包括Pixel 7 Pro、Pixel 6 Pro、Pixel 4和Nexus 6,均无效果
  • 手动编辑部分AVD对应的config.ini文件,设置使用主机图形,没有作用
  • 回退到更换硬件前能正常运行的应用master分支旧版本代码,问题依旧
  • 尝试让主题跟随系统亮色/暗色模式自动切换,没有任何变化
  • 预览功能正常,Android Studio和gradle构建过程中均无警告信息
  • 使用的Android Studio版本为Giraffe 2022.3.1

硬件信息

新硬件配置为Intel i7 3700k、RTX 4060 8GB GDDR6,如需更详细信息可随时提供。

应用代码

这套代码在其他硬件上能正常应用自定义主题,因此省略部分细节。项目未依赖低版本Material Design。

@Composable
fun App ( finish: () -> Unit ) {
    val navController = rememberNavController()
    AppTheme(
        useDarkTheme = true
    ) {
        AppFrame(
            navController = navController
        ){
            NavGraph(navController = navController)
        }
    }
}

主题代码

@Composable
fun AppTheme(
    useDarkTheme: Boolean = isSystemInDarkTheme(),
    content: @Composable () -> Unit
) {

    val colors = if (!useDarkTheme) {
        LightAltColors
    } else {
        DarkAltColors
    }

    MaterialTheme(
        colorScheme = colors,
        typography = AppTypography,
        content = content
    )

    val systemUiController = rememberSystemUiController()
    systemUiController.setSystemBarsColor(MaterialTheme.colorScheme.surface)
    systemUiController.setNavigationBarColor(
        MaterialTheme.colorScheme.surfaceColorAtElevation(NavigationBarDefaults.Elevation)
    )

    content()

}

内容的提问来源于stack exchange,提问作者hcl2000

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 04:53:15