Android 根据滚动位置移动ListView或MapFragment

Android 根据滚动位置移动ListView或MapFragment,android,android-listview,Android,Android Listview,好吧,标题很混乱,但概念是这样的 当活动开始时,它将如下所示: 当ListView到达顶部时,如果继续向下拉,地图将变大,如下所示: 但如果在ListView中向下滚动,地图将变小,如下所示: 现在这在Android上是可能的。感谢您的回复:D以一种可能的方式。这样做的方法是首先确定用户滑动的方向。您可以将列表视图和映射放在两个单独的片段中,然后通过添加SimpleNogestureListener(出于您的目的,您将处理垂直滑动)来确定用户在任一片段上的滑动 然后,您可以根据具体情况,通

好吧,标题很混乱,但概念是这样的

当活动开始时,它将如下所示:

当ListView到达顶部时,如果继续向下拉,地图将变大,如下所示:

但如果在ListView中向下滚动,地图将变小,如下所示:


现在这在Android上是可能的。感谢您的回复:D

以一种可能的方式。这样做的方法是首先确定用户滑动的方向。您可以将列表视图和映射放在两个单独的片段中,然后通过添加SimpleNogestureListener(出于您的目的,您将处理垂直滑动)来确定用户在任一片段上的滑动

然后,您可以根据具体情况,通过编程将片段的权重设置为变大/变小。由于您的列表和地图将位于两个单独的容器中(可以是片段、线性布局、相对布局等),因此在我确定您以这种方式继续之前,我需要更多的详细信息。但要回答你的问题,是的,这是可能的。我建议您研究以下两个链接,以获得更好的想法,然后确定如何继续(可能与您的案例不同,但您至少会获得总体想法):


您当然可以在滚动列表时更改地图大小,但我认为性能不太好。谷歌地图通常需要一段时间来渲染,你无法真正控制它。如果要执行此路线,请尝试在地图视图上设置新的LayoutParams

另一种选择是用ImageView替换地图。maps api支持这一点。然后,您可能希望在滚动时无缝地将地图替换为图像

第三种选择是谷歌地图的功能。基本上,你有一个填满屏幕的地图,然后是一个从底部升起并覆盖地图的滑动布局。这个抽屉向上滑动,然后地图重新居中,这样无论什么可见部分都会显示标记。这可能是任何选项中性能最好的