如何在最新版Android Studio中使用Material 2?
在最新Android Studio中使用Material 2的解决方案
一、直接在最新Android Studio里配置Material 2
无需降级AS,手动修改项目配置即可切换到Material 2:
- 替换依赖
在模块级build.gradle.kts(或build.gradle)中,移除Material 3依赖,替换为Material 2的Compose库:// 移除Material 3依赖 // implementation("androidx.compose.material3:material3:xxx") // 加入Material 2核心依赖 implementation("androidx.compose.material:material:1.5.4") // 保留其他必要的Compose依赖 implementation("androidx.compose.ui:ui:1.5.4") implementation("androidx.compose.ui:ui-tooling-preview:1.5.4") debugImplementation("androidx.compose.ui:ui-tooling:1.5.4") - 替换主题配置
删除默认的Material 3主题文件,创建Material 2主题结构:import androidx.compose.material.MaterialTheme import androidx.compose.material.darkColors import androidx.compose.material.lightColors import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color private val DarkColorPalette = darkColors( primary = Color(0xFF6200EE), primaryVariant = Color(0xFF3700B3), secondary = Color(0xFF03DAC5) ) private val LightColorPalette = lightColors( primary = Color(0xFF6200EE), primaryVariant = Color(0xFF3700B3), secondary = Color(0xFF03DAC5) ) @Composable fun MyMaterial2Theme( darkTheme: Boolean = isSystemInDarkTheme(), content: @Composable () -> Unit ) { val colors = if (darkTheme) DarkColorPalette else LightColorPalette MaterialTheme( colors = colors, typography = androidx.compose.material.Typography, shapes = androidx.compose.material.Shapes, content = content ) } - 调整组件引用
所有UI组件需从androidx.compose.material包导入,而非material3,比如Button、TextField等。
二、有没有现成的Material 2项目模板?
官方没有提供可直接下载的Material 2 Compose项目模板,但可以快速生成:
- 先创建空Compose项目,再按上述步骤替换依赖和主题,即可得到Material 2基础项目;
- 也可从旧版AS导出Material 2模板,导入到最新AS后微调Gradle配置适配新版本。
三、兼容最新Kotlin、Gradle的Material 2默认模板AS版本
最后一个默认以Material 2作为Compose项目模板的Android Studio版本是Android Studio Dolphin(2021.3.1)。该版本:
- 默认创建的Compose项目为Material 2配置;
- 支持最高Kotlin 1.8.x、Gradle 7.4.x,能兼容大部分新特性,同时避免旧版AS的依赖编译问题。
内容的提问来源于stack exchange,提问作者spring_chicken
相关产品推荐
相关产品推荐

