Modifier 系统
使用修饰符设置大小、内边距和样式
Modifier 系统 是 CoddyKit 上的免费 Android Academy 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Android Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Android Academy 课程共包含 4 节课。
什么是 Modifier?
修饰符用于装饰或配置可组合项,例如设置尺寸、内边距、背景和点击行为等。几乎每个可组合项都会接受一个 modifier 参数。
链接修饰符
修饰符可以链接起来:每个函数都会返回一个新的修饰符,因此您可以依次调用它们。
Modifier
.padding(16.dp)
.size(100.dp)
.background(Color.LightGray)传递 Modifier
请将这条修饰符链传递给可组合项的 modifier 参数。
Text(
text = "Hello",
modifier = Modifier
.padding(8.dp)
.background(Color.Yellow)
)顺序很重要!
修饰符的顺序会改变结果。修饰符从左到右应用,像图层一样彼此包裹。
先 padding 后 background
这里先应用内边距,因此背景只会填充内部区域,内边距占据的空间会保持透明。
Modifier
.padding(16.dp)
.background(Color.Red)先 background 后 padding
交换顺序后,背景会覆盖整个区域,而内边距会将内容向内推。修饰符相同,外观却不同——因为顺序很重要。
Modifier
.background(Color.Red)
.padding(16.dp)常用尺寸修饰符
常用的尺寸修饰符:
size(100.dp)——设置固定的宽度和高度。fillMaxWidth()——占满所有水平空间。fillMaxSize()——占满所有可用空间。width()/height()——设置一个尺寸。
可点击
Modifier.clickable 可以让任何可组合项响应点按,即使它只是普通的 Text 或 Box。
Text(
text = "Tap me",
modifier = Modifier.clickable { /* handle */ }
)复用 Modifier 参数
按照惯例,自定义可组合项会接受 modifier: Modifier = Modifier 参数,并将其传递给根元素。这样,调用方就能从外部自定义布局。
@Composable
fun Card(modifier: Modifier = Modifier) {
Column(modifier = modifier) { /* ... */ }
}Modifier 是第一个参数
按照惯例,在可选参数中,modifier 参数应位于最前面,默认值为一个空的 Modifier。这样可以让您的接口与标准库保持一致。
整合应用
一个使用修饰符链的样式化盒布局,其中修饰符的顺序经过了特别安排。
Box(
modifier = Modifier
.size(120.dp)
.background(Color(0xFFE86F00))
.padding(12.dp)
) {
Text(text = "Compose", color = Color.White)
}快速检查
为什么 Modifier.padding(16.dp).background(Color.Red) 的外观不同于 Modifier.background(Color.Red).padding(16.dp)?
回顾
修饰符:
- 用于配置尺寸、内边距、背景、点击行为等。
- 可以链接起来,并按顺序应用——顺序很重要。
- 自定义可组合项应将
modifier: Modifier = Modifier作为第一个参数公开。
常见问题解答
「Modifier 系统」课时是免费的吗?
是的 — 「Modifier 系统」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Android Academy 课程的其余内容,请升级到 CoddyKit PRO。 Android Academy 课程共包含 4 节课。
「Modifier 系统」这节课中我会学到什么?
使用修饰符设置大小、内边距和样式 你通过在浏览器中直接运行的动手代码来练习 Android Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Android Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Android Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。
「Modifier 系统」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Android Academy 课中编写并运行代码吗?
能。每节 Android Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- Column、Row 和 Box
- Modifier 系统
- 对齐和排列
- 使用 LazyColumn 构建列表