Naz*_*ets 10 android android-jetpack-compose jetpack-compose-accompanist
我正在使用Google 的 Accompanist Horizontal Pager,并且我需要寻呼机来包装内容大小。由于某种原因它填满了最大尺寸。目前它是约束布局的子级,但是我尝试将其放入具有Modifier.weight(1f)相同结果的另一个列内。另外,verticalAlignment 不起作用,孩子居中。
截屏; 绿色-寻呼机,红色-它是孩子。
撰写版本:1.0.5;寻呼机版本:0.21.3-beta
HorizontalPager(
state = stickerBookState.pagerState,
modifier = Modifier
.constrainAs(pager) {
top.linkTo(pagerNavigator.bottom, 16.dp)
linkTo(parent.start, parent.end)
height = Dimension.wrapContent // for whatever reason it's actual size if fillConstraints / fillMaxSize
width = Dimension.fillToConstraints
}.background(PmColors.CompletedGreen),
verticalAlignment = Alignment.Top, // this one also doesn't seem to work
count = model.pages.size,
) { pageIndex ->
val pageData = model.pages[pageIndex]
@OptIn(ExperimentalFoundationApi::class)
LazyVerticalGrid(
modifier = Modifier
.wrapContentSize()
.background(PmColors.AlertRed),
cells = GridCells.Fixed(2)
) {
items(pageData) { holderData ->
Box(
modifier = Modifier
.padding(bottom = 24.dp)
.fillMaxWidth()
.wrapContentHeight(),
contentAlignment = Alignment.Center
) {
// some composable
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
Aeg*_*gir 12
该错误已在0.21.4版本中修复:
[Pager] 允许 HorizontalPager 环绕内容高度,VerticalPager 环绕内容宽度...
修改示例中的代码可以达到预期的效果:
private fun Sample() {
Scaffold(
...
) {
Column(Modifier.fillMaxSize()) {
...
HorizontalPager(
...
verticalAlignment = Alignment.Top, //add this
modifier = Modifier
.wrapContentHeight() //and this
.fillMaxWidth()
) { page ->
...
}
...
}
}
Run Code Online (Sandbox Code Playgroud)
}
| 归档时间: |
|
| 查看次数: |
10743 次 |
| 最近记录: |