我创建了一个约束布局,它包含一个LazyColumn。但是,当元素不适合屏幕时,我无法滚动该列。我如何解决这个问题?
我试着添加state = rememberLazyListState()
,但它不工作。
ConstraintLayout(
Modifier
.fillMaxSize()
.padding(padding))
{
val (text, btns, list) = createRefs()
Column(
modifier = Modifier
.constrainAs(text) { top.linkTo(parent.top); bottom.linkTo(btns.bottom) }
.fillMaxWidth()
.padding(50.dp),
horizontalAlignment = Alignment.CenterHorizontally
) { /* Composables */ }
Column(
modifier = Modifier
.constrainAs(btns) { top.linkTo(text.bottom) }
.fillMaxWidth(),
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.Center
) { /* Composables */ }
Column(
modifier = Modifier
.constrainAs(list) { top.linkTo(btns.bottom) }
.fillMaxWidth()
.padding(25.dp),
horizontalAlignment = Alignment.CenterHorizontally
) {
// test
Text(text = "List:", fontWeight = FontWeight.Bold, fontSize = 25.sp)
LazyColumn( state = rememberLazyListState(), horizontalAlignment = Alignment.CenterHorizontally) {
items(monomios.keys.toTypedArray()) {
Row(modifier = Modifier.padding(25.dp).background(color = Color.Red)) {
Text(text = (it).toString())
Icon(painter = painterResource(id = R.drawable.cruz), contentDescription = "")
}
}
}
}
}
字符串
1条答案
按热度按时间ep6jt1vc1#
要在ConstraintLayout中为LazyColumn启用滚动,您需要确保LazyColumn具有足够的高度来容纳其内容,并且将其放置在可滚动容器中。