Pol*_*ion 5 kotlin android-jetpack-compose lazycolumn
我将在每列的顶部放置一个标签,并Lazy\xd0\xa1olumn在底部放置一个标签。如下。
然而,当我填写完后,却出现了与我预想不同的画面:
\n\n我还需要设置什么吗?这是我的代码
\n@Composable\nfun MenuDetailList(\n loading: Boolean,\n type: String,\n items: List<Any>,\n page: Int,\n onChangeScrollPosition: (Int) -> Unit,\n onTriggerNextPage: () -> Unit,\n onCallCacheDialog: (Int) -> Unit\n) {\n val configuration = LocalConfiguration.current\n val screenHeight = configuration.screenHeightDp.dp\n\n Box(\n modifier = Modifier\n .background(color = MaterialTheme.colors.surface)\n ) {\n if (loading && items.isEmpty()) {\n LoadingShimmer(imageHeight = screenHeight)\n }else if (items.isEmpty()) {\n NothingHere()\n }else {\n ConstraintLayout(\n modifier = Modifier\n .fillMaxSize()\n .background(color = Color.White)\n ) {\n val (label, list) = createRefs()\n TopAppBar(\n modifier = Modifier\n .constrainAs(label) {\n top.linkTo(parent.top)\n start.linkTo(parent.start)\n end.linkTo(parent.end)\n }\n ) {\n MenuDetailLabel()\n }\n LazyColumn(\n modifier = Modifier\n .background(color = Color.Blue)\n ) {\n itemsIndexed(\n items = items\n ) { index, detail ->\n onChangeScrollPosition(index)\n if ((index + 1) >= (page * PAGE_SIZE) && !loading) {\n onTriggerNextPage()\n }\n when(type) {\n "purchase" -> {\n PurchaseCard(\n purchase = detail as Purchase,\n onClick = onCallCacheDialog\n )\n }\n }\n }\n }\n }\n }\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n
modifier = Modifier.constrainAs(list) {
top.linkTo(label.bottom)
start.linkTo(parent.start)
end.linkTo(parent.end)
bottom.linkTo(parent.bottom)
width = Dimension.fillToConstraints
height = Dimension.fillToConstraints
}
Run Code Online (Sandbox Code Playgroud)
您忘记了constrainAsLazyColumn 的:
LazyColumn(
modifier = Modifier
.background(color = Color.Blue)
.constrainAs(list) {
top.linkTo(label.bottom)
start.linkTo(parent.start)
end.linkTo(parent.end)
bottom.linkTo(parent.bottom)
}
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1796 次 |
| 最近记录: |