Класс ColumnScope
Класс ColumnScope - приёмник лямбды
функции Column.
Его методы расширяют
Modifier
только внутри этой лямбды.
Через них делят свободную высоту столбца
и выравнивают элементы поперёк столбца.
Синтаксис
Column {
Text(
modifier = Modifier.weight(1f),
text = "abcde",
)
}
Методы
| Метод | Описание |
|---|---|
weight |
Забирает долю свободной высоты столбца у дочернего элемента. |
align |
Выравнивает дочерний элемент поперёк столбца, если у Column задано иное horizontalAlignment. |
Пример
Давайте отдадим второму тексту всю свободную высоту:
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxHeight
import androidx.compose.material3.Text
import androidx.compose.ui.Modifier
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
Column(modifier = Modifier.fillMaxHeight()) {
Text(text = "abcde")
Text(
text = "12345",
modifier = Modifier.weight(1f),
)
}
}
}
}
На экране второй текст займёт место под первым до конца столбца.
Смотрите также
-
функция
Column,
где доступен ColumnScope -
класс
RowScope,
приёмник лямбды Row с методом weight -
класс
Alignment,
который задаёт выравнивание поперёк столбца -
метод
fillMaxHeight,
который растягивает Column на всю высоту родителя