Заполнение оставшегося места с помощью распорки в Jetpack Compose

Думаю, я чего-то упускаю. Есть ли способ 9X_android-api "заполнить оставшееся пространство" в Compose 9X_android-framework Beta01 без лишнего элемента Box, обертывающего 9X_android-framework разделитель? К сожалению, Spacer не имеет модификатора 9X_android-api веса.

Column(
    modifier = Modifier
        .height(120.dp)
        .fillMaxWidth()
) {
    Text(
        text = "A"
    )
    Box(
        modifier = Modifier
            .weight(1f)
    ) {
        Spacer(
            Modifier
                .fillMaxHeight()
        )
    }
    Text(
        text = "B"
    )
}

Изменить:

В дополнительном поле нет 9X_android необходимости, я просто неправильно использовал 9X_android-jetpack-compose систему модификаторов. В качестве примечания: выбранный 9X_android-jetpack-compose ответ, вероятно, является еще одним хорошим 9X_android-mobile способом достижения этой цели.

12
0
2
Общее количество ответов: 2

Ответ #1

Ответ на вопрос: Заполнение оставшегося места с помощью распорки в Jetpack Compose

Насколько я понимаю, Column.arrangement применяется ко всем 9X_android-mobile дочерним элементам одинаково.

Если вы просто 9X_android хотите максимально заполнить оставшееся 9X_android-mobile пространство, возможно, вам подойдет Spacer с 9X_composable модификатором weight(1.0f):

Column(
    modifier = Modifier
        .fillMaxWidth()
) {
    Text("Text A") // top aligned
    Spacer(modifier = Modifier.weight(1.0f)) // fill height with spacer
    Text("Text B") // those two Texts are bottom aligned
    Text("Text C") 
}

33
0

Ответ #2

Ответ на вопрос: Заполнение оставшегося места с помощью распорки в Jetpack Compose

Это то, что вам нужно?

Column(
    modifier = Modifier
        .height(120.dp)
        .fillMaxWidth(),
    Arrangement.SpaceBetween
) {
    Text(text = "A")
    Text(text = "B")
}

Вы можете расположить 9X_android-framework свои элементы как SpaceAround, SpaceEvenly 9X_android-ui и SpaceBetween.

9
0