Выравнивание и расположение
Точно размещайте дочерние элементы
«Выравнивание и расположение» — бесплатный урок Android Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Android Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Android Academy содержит 4 уроков всего.
Расположение дочерних элементов
Внутри Column или Row положение дочерних элементов задают два параметра: выравнивание (поперёк элемента разметки) и распределение (вдоль него).
Выравнивание в Column
В Column дочерние элементы располагаются вертикально. horizontalAlignment управляет их горизонтальным положением — слева, по центру или справа.
Column(horizontalAlignment = Alignment.CenterHorizontally) {
Text("Centered")
Text("Also centered")
}Распределение в Column
verticalArrangement управляет тем, как дочерние элементы распределяются вертикально — сверху, по центру, снизу или равномерно.
Column(verticalArrangement = Arrangement.Center) {
Text("A")
Text("B")
}Выравнивание в Row
В Row оси меняются местами. verticalAlignment управляет вертикальным положением дочерних элементов, а horizontalArrangement распределяет их по горизонтали.
Row(verticalAlignment = Alignment.CenterVertically) {
Text("Left")
Text("Right")
}Как запомнить эту пару
Совет: выравнивание относится к поперечной оси, а распределение — к основной. В Column основная ось вертикальная, поэтому используются verticalArrangement и horizontalAlignment.
Варианты распределения
Распространённые значения Arrangement:
Top/Bottom/CenterSpaceBetween— промежутки между элементами.SpaceAround/SpaceEvenly
SpaceBetween
SpaceBetween прижимает первый и последний дочерние элементы к краям, а остальные равномерно распределяет между ними — идеально для верхней панели с заголовком слева и значком справа.
Row(horizontalArrangement = Arrangement.SpaceBetween) {
Text("Title")
Text("Action")
}Arrangement.spacedBy
Arrangement.spacedBy(8.dp) добавляет фиксированный промежуток между каждым дочерним элементом — это самый аккуратный способ равномерно разделить элементы списка.
Column(verticalArrangement = Arrangement.spacedBy(8.dp)) {
Text("One")
Text("Two")
Text("Three")
}Сочетание spacedBy и выравнивания
Вы можете одновременно использовать распределение и выравнивание, чтобы полностью управлять разметкой.
Column(
verticalArrangement = Arrangement.spacedBy(12.dp),
horizontalAlignment = Alignment.CenterHorizontally
) {
Text("Title")
Button(onClick = {}) { Text("Go") }
}Выравнивание в Box
Для Box используйте contentAlignment, чтобы расположить дочерние элементы, или Modifier.align() для индивидуального размещения каждого из них.
Box(modifier = Modifier.fillMaxSize()) {
Text(
text = "Bottom",
modifier = Modifier.align(Alignment.BottomCenter)
)
}Собираем всё вместе
Строка заголовка и равномерно распределённый список.
Column(verticalArrangement = Arrangement.spacedBy(8.dp)) {
Row(horizontalArrangement = Arrangement.SpaceBetween) {
Text("Inbox")
Text("Edit")
}
Text("Message 1")
Text("Message 2")
}Быстрая проверка
Какой параметр в Column управляет горизонтальным положением дочерних элементов?
Итоги
Расположение:
- Выравнивание = поперечная ось; распределение = основная ось.
- Column:
horizontalAlignment+verticalArrangement. - Row:
verticalAlignment+horizontalArrangement. Arrangement.spacedBy()добавляет равные промежутки.
Часто задаваемые вопросы
Урок «Выравнивание и расположение» бесплатный?
Да — полный текст урока «Выравнивание и расположение» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Android Academy, подпишись на CoddyKit PRO. Курс Android Academy содержит 4 уроков всего.
Чему я научусь в уроке «Выравнивание и расположение»?
Точно размещайте дочерние элементы Ты практикуешь Android Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Android Academy?
Предыдущий опыт не требуется. Android Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.
Сколько времени занимает урок «Выравнивание и расположение»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Android Academy?
Да. Каждый урок Android Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Column, Row и Box
- Система Modifier
- Выравнивание и расположение
- Списки с LazyColumn