Планировка: изображение с фиксированным размером и макет с серого фона, который должен заполнять оставшееся пространство экрана. Эти элементы должны быть прокручиваемыми.
Хотя макет довольно проста, я не могу справиться с этим. Причина в том, что мне нужно добавить модификатор веса (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)
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/770 ... ck-compose
Мобильная версия