0Pricing
Android Academy · 课时

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 反馈 — 无需本地设置。

此课程中的所有课时

  1. Column、Row 和 Box
  2. Modifier 系统
  3. 对齐和排列
  4. 使用 LazyColumn 构建列表
← 返回 Android Academy