Я пробовал Jetpack Compose на Android Studio Canary 1, и я добавил Column
composable к пользовательскому интерфейсу. Column
имеет одно свойство с именем modifier
, в которое мы можем передавать различные модификаторы. Я использовал модификатор Expanded
, в результате чего Column
занял все доступное пространство.
Кроме того, Column
имеет свойства mainAxisSize
и crossAxisSize
, поэтому я попробовал их также и установил LayoutSize.Expand
который предназначен для расширения данной оси, я думаю. Это также привело к тому, что Column
занял все доступное пространство. Посмотрите на пример ниже:
1. Использование LayoutSize.Expand
Column(mainAxisSize = LayoutSize.Expand,
crossAxisSize = LayoutSize.Expand) {
Text("Jetpack",modifier = ExpandedHeight)
Text("Compose",modifier = ExpandedHeight)
}
Вывод:

2. Использование расширенного
Column(modifier = Expanded) {
Text("Jetpack",modifier = ExpandedHeight)
Text("Compose",modifier = ExpandedHeight)
}
Вывод:

Наблюдение состоит в том, что оба приведенных ниже кода обеспечивают одинаковый вывод. Тогда в чем же разница между Expanded
и LayoutSize.Expand
, когда речь идет о Column
и Row
?