MaterialTheme 与配色方案
在一个位置定义应用调色板。
MaterialTheme 与配色方案 是 CoddyKit 上的免费 Jetpack Compose Academy 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Jetpack Compose Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Jetpack Compose Academy 课程共包含 4 节课。
统一主题
MaterialTheme 是一个包装器,会将颜色、字体和形状提供给其中的每个 Composable,让您可以在一个地方设置整个应用的样式。🎨
包装整个应用
通常,您会使用应用主题包装整个界面,而应用主题的核心会调用 MaterialTheme。其中的所有内容都会从这个统一来源读取配置。
AppTheme {
// your screens go here
}colorScheme 插槽
colorScheme 首先定义的是您的调色板:每个 Material 组件都会自动使用这些命名颜色。
MaterialTheme(
colorScheme = lightColorScheme()
) { /* app */ }使用角色,而不是原始颜色
Material 3 使用 primary 和 surface 等颜色角色,而不是到处直接使用十六进制颜色,因此组件能够保持一致,也更容易更换主题。
primary 与 onPrimary
primary 角色是用于关键操作的品牌颜色,而 onPrimary 是绘制在其上的易读颜色,例如蓝色按钮上的白色文字。
表面与背景
surface 和 background 角色用于绘制卡片、底部页和所有内容背后的屏幕,而 onSurface 可确保内容在其上清晰可读。
构建浅色方案
使用 lightColorScheme 创建调色板,只覆盖您关心的角色,其余部分交给合理的默认值。
val scheme = lightColorScheme(
primary = Color(0xFF1A73E8)
)在代码中读取颜色
在任意 Composable 中,您都可以通过 MaterialTheme.colorScheme 获取主题颜色,因此主题中的颜色变化会立即应用到所有位置。
val c = MaterialTheme.colorScheme.primary为表面设置颜色
将一个角色传递给 Composable,它就会保持主题一致;这里的 Surface 使用活动 colorScheme 中的 primary 颜色绘制自身。
Surface(color = MaterialTheme.colorScheme.primary) {
Text("Hi")
}容器角色
primaryContainer 等角色为标签和高亮内容提供更柔和的色调背景,并搭配 onPrimaryContainer 显示文字。
几秒内更换主题
由于组件会从主题中获取颜色,只需替换一个 colorScheme,整个应用就会立即应用新样式,无需逐个修改组件。✨
快速检查
在 Material 3 中,应用范围的颜色存放在哪里?
回顾:一个调色板,处处一致
您使用 MaterialTheme 包装应用,定义了由各种角色组成的 colorScheme,并在代码中读取颜色,让一个调色板为整个界面设置样式。🎉
用 AI 导师学习 Kotlin — 免费
在浏览器中编写并运行真实代码,获得全天候 AI 导师的即时帮助,并在网页或应用中继续学习。
- 课程
- 30
- 课程
- 120
常见问题解答
「MaterialTheme 与配色方案」课时是免费的吗?
是的 — 「MaterialTheme 与配色方案」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Jetpack Compose Academy 课程的其余内容,请升级到 CoddyKit PRO。 Jetpack Compose Academy 课程共包含 4 节课。
「MaterialTheme 与配色方案」这节课中我会学到什么?
在一个位置定义应用调色板。 你通过在浏览器中直接运行的动手代码来练习 Jetpack Compose Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Jetpack Compose Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Jetpack Compose Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。
「MaterialTheme 与配色方案」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Jetpack Compose Academy 课中编写并运行代码吗?
能。每节 Jetpack Compose Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。