XML:
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
class="com.google.android.gms.maps.SupportMapFragment"/>
在常规片段中,它的表现方式如下:
mFragment = (mFragment) (getSupportFragmentManager().findFragmentById(R.id.mFragment));
mFragment.getView().setVisibility(View.INVISIBLE);
在Google地图碎片中: mMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.mapFragment)).getMap();
但是我如何通过编程方式设置地图片段的可见性呢?
不能像其他片段那样操作。
mMap
强制转换为Fragment
并执行相同的getView().setVisibility(View.INVISIBLE)
,因为SupportMapFragment
仍然是一个 fragment。 - EvosgetSupportFragmentManager().beginTransacton().hide(mMap).commit()
或者getSupportFragmentManager().beginTransacton().detach(mMap).commit()
吗? - Evosprivate GoogleMap mMap;
我就会得到以下提示信息:"在FragmentTransaction中,hide/detach(Fragment)方法不适用于参数(GoogleMap)"。 - DavidgetSupportFragmentManager().beginTransacton().hide(getSupportFragmentManager().findFragmentById(R.id.mapFragment)).commit()
或者getSupportFragmentManager().findFragmentById(R.id.mapFragment).getView().setVisibility(View.INVISIBLE);
- Evos