我有这个:
LazyColumn {
item {
Map(
modifier = Modifier
.fillMaxWidth()
.height(460.dp),
directions = directions
)
}
item {
RouteBottomDetails(
modifier = Modifier.absoluteOffset(y = (-100).dp),
actionButtonText = actionButtonText,
routeCard = routeCard,
routeDetails = routeDetails,
forwardIcon = forwardIcon,
onActionButtonClicked = onActionButtonClicked
)
}
}
Map
是一个内部的谷歌地图视图AndroidView
,RouteBottomDetails
只是一堆从屏幕底部滚动出来的东西。这个想法是能够将地图滚动到屏幕顶部以在下面显示更多“详细信息”。这工作正常。
问题是我还希望能够平移和缩放地图:-惰性列表的触摸侦听器(如果可组合物有这样的东西)会干扰地图触摸侦听器,从而给用户体验带来不便。理想情况下,我希望能够指定惰性列表忽略第一个项目触摸事件并将其委托给项目的内容。在这个实现中,只能使用第二个项目上下滚动是完全可以接受的。
我知道如何使用老式的 View 安排来做到这一点,但我不知道如何使用 Composables 来做到这一点。我研究了各种Modifier
s 但似乎没有什么合适的。理想情况下,您需要一个item
参数。
也许我可以使用完全不同的 Composable 安排来实现相同的效果?任何建议将不胜感激。