【发布时间】:2022-05-10 04:44:28
【问题描述】:
在 Compose 中,我们如何获取 Composable 在屏幕中的位置或大小?例如,我试图将地图相机聚焦在特定边界之间并添加填充。这里需要获取pager顶部位置和TopBar底部位置对应的padding。
目前这个界面的代码如下:
BoxWithConstraints {
MapViewWithMarkers(...)
TopAppBar(
modifier = Modifier
.fillMaxWidth()
.statusBarsPadding(),
backgroundColor = Color.Transparent,
elevation = 0.dp,
)
HorizontalPager(
state = pagerState,
modifier = Modifier
.align(Alignment.BottomCenter)
.fillMaxWidth()
.navigationBarsPadding()
.padding(bottom = 32.dp),
itemSpacing = 8.dp,
) { page ->
val hikeOnMapCard = hikeMarkerList[page]
HikeOnMapCard(hikeOnMapCard) {
viewModel.hikeOnMapCardClicked(hikeOnMapCard.id)
}
}
}
我想把这个屏幕上TopAppBar大小和Pager大小对应的padding转发给MapViewWithMarkers Composable
谢谢!
【问题讨论】:
标签: android android-jetpack-compose