我在屏幕一角有一个谷歌地图视图。我想添加一个事件,使其在地图界面上使用一个按钮使其全屏显示,然后使用相同的按钮再次小屏幕。有任何想法吗??
安卓 v4.0.4 谷歌地图API V2
我在屏幕一角有一个谷歌地图视图。我想添加一个事件,使其在地图界面上使用一个按钮使其全屏显示,然后使用相同的按钮再次小屏幕。有任何想法吗??
安卓 v4.0.4 谷歌地图API V2
你可以通过两种方式做到这一点:
创建一个新Activity
的,在按下按钮时将开始,并将包括一个全屏地图。在此活动中,创建相同的按钮,让您回到原来的状态Activity
。
您可以MapFragment
在同一窗口中以编程方式将布局宽度更改为您的长度。
第二个选项会更好,因为您可以避免新活动加载的屏幕闪烁。
更新:
关于第二个选项,这是我编写的用于放大地图 onClick 地图的代码,看看这是否对您有帮助:
@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;
}
}
如您所见,我更改了FrameLayout
地图所在位置的大小,例如,您可以将按钮放在相同的布局中并将其放置在右上角。当您的地图将拉伸时,按钮仍将位于同一个右上角| 右上角。
使用全屏地图和您需要的所有按钮/功能点击开始新活动。使用 putExtra 在启动互联网(例如位置坐标)上传递所需参数,瞧.. ;)