Зачем свиток не работает в столбце? (JetPack Compose)Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Зачем свиток не работает в столбце? (JetPack Compose)

Сообщение Anonymous »

Мне нужно сделать такую макет:

Планировка: изображение с фиксированным размером и макет с серого фона, который должен заполнять оставшееся пространство экрана. Эти элементы должны быть прокручиваемыми.
Хотя макет довольно проста, я не могу справиться с этим. Причина в том, что мне нужно добавить модификатор веса (1F), чтобы сделать серый фон заполнить остальную часть экрана, но вместо этого он отключает прокрутку. И наоборот, без этого модификатора работает должным образом, но серый фон не заполняет остальную часть экрана. Но я могу ошибаться. Не могли бы вы помочь мне решить эту проблему? < /P>

Код: Выделить всё

    @Composable
fun TestCompose(
text: String,
modifier: Modifier = Modifier,
) {
val scrollState = rememberScrollState()

Column(
modifier = Modifier
.fillMaxSize()
.background(color = Color.White),
) {
Column(
modifier = Modifier
.verticalScroll(state = scrollState)
.weight(1f)
) {

Image(
modifier = Modifier
.fillMaxWidth()
.background(Color.White)
.align(Alignment.CenterHorizontally),
painter = painterResource(id = drawable.check_status_icon),
contentDescription = null
)

Column(
modifier = Modifier
.weight(1f) // This line makes grey background fill the rest of the screen as it is demanded, but disables scroll instead.
.clip(RoundedCornerShape(topStart = 16.dp, topEnd = 16.dp))
.background(Color.LightGray)
) {
// Here are different optional custom layouts inside a column but I left Text only
Text(text = text)
AnotherLayout()
}

}

Button(
modifier = Modifier.fillMaxWidth(),
onClick = {}){
Text("Go to main", fontSize = 25.sp)
}
}
}
CTW, если я использую .fillMaxHeight () модификатор вместо. Weight (1F) Mayout завершает содержимое. Это поведение, которое я тоже не понимаю:


Подробнее здесь: https://stackoverflow.com/questions/770 ... ck-compose
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»