gpt4 book ai didi

android - 如何使 Google Mapview 从较小的 mapview 更改为全屏?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:57:19 26 4
gpt4 key购买 nike

我在屏幕的一角有一个 Google map View 。我想添加一个事件,使其通过 map 界面上的按钮进入全屏,然后再次使用相同的按钮进入小屏幕。有什么想法吗??

安卓 v4.0.4谷歌地图 API V2

最佳答案

你可以通过两种方式做到这一点:

  1. 创建一个新的Activity,按下一个按钮就会开始,并且会包含一个全屏 map 。在此 Activity 中创建相同的按钮,将带您回到原来的 Activity

  2. 您可以在同一窗口中以编程方式将布局宽度更改为 MapFragment 的长度。

第二个选项会更好,因为您可以避免新 Activity 加载时的屏幕闪烁。

更新:

关于这里的第二个选项,我写了一段代码来放大 map onClick of the map 看看这是否对你有帮助:

 @Override
public void onMapClick(LatLng point)
{
LinearLayout mapFrameLayout = (LinearLayout)findViewById(R.id.mapFrameLayout);

if (!isMapOpen)
{
LinearLayout.LayoutParams fullMapParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT);
if (!isDetailsOpen)
{
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.hide(closedDetailsFragment).commit();
mapFrameLayout.setLayoutParams(fullMapParams);
isMapOpen = true;
isDetailsOpenWhenOpenedMap = false;
}
else
{
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.hide(openedDetailsFragment).commit();
mapFrameLayout.setLayoutParams(fullMapParams);
isMapOpen = true;
isDetailsOpenWhenOpenedMap = true;
}
}
else
{
LinearLayout.LayoutParams defaultMapparams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, 280);
mapFrameLayout.setLayoutParams(defaultMapparams);
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
if (isDetailsOpenWhenOpenedMap)
{
fragmentTransaction.show(openedDetailsFragment).commit();
}
else
{
fragmentTransaction.show(closedDetailsFragment).commit();
}
isMapOpen = false;
}
}

如您所见,我更改了 map 所在的 FrameLayout 的大小,您可以将您的按钮放在相同的布局中,并将其放在右上角,例如。当您的 map 拉伸(stretch)时,按钮仍将位于右上角。

关于android - 如何使 Google Mapview 从较小的 mapview 更改为全屏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15246891/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com