好的,标题很乱,但这是概念。
当Activity启动时,它看起来像这样:
如果在ListView到达顶部时继续拉下来,Map会变得更大,如下所示:
但是如果你在ListView中向下滚动,Map会变小,如下所示:
现在这可以在Android上实现。谢谢你的回复:D
答案 0 :(得分:0)
这是可能的。您这样做的方法是首先确定用户滑动的方向。您可以将列表视图和地图放在两个单独的片段中,然后通过添加SimpleOnGestureListener确定用户在任一片段上滑动(出于您的目的,您将处理垂直滑动)。
然后,您可以根据具体情况以编程方式将片段的权重设置为更大/更小。由于您的列表和地图将位于两个单独的容器中(可能是片段,LinearLayout,RelativeLayout等)。在我确定您以这种方式继续之前,我需要更多详细信息。但要回答你的问题,是的,这是可能的。我建议你调查以下两个链接以获得更好的想法,然后确定如何继续(它可能与你的情况不一样,但你至少会得到一般的想法):
How to detect swipe direction between left/right and up/down
答案 1 :(得分:0)
当您滚动列表时,您当然可以更改地图大小,但我认为性能不会很好。谷歌地图通常需要一段时间来渲染,你无法真正控制它。如果您想要这条路线,请尝试在地图视图上设置新的LayoutParams。
另一种选择是用ImageView替换地图。地图api支持snapshot() method。然后,您需要在滚动时用图像无缝替换地图。
第三个选项是Google地图的功能。基本上,你有一个填充屏幕的地图,然后是一个从底部出来并覆盖地图的滑动布局。此抽屉向上滑动,然后地图重新居中,以便可见的任何部分显示标记。这可能是任何选项的最佳表现。