我在我的代码中使用 SupportMapFragment (class =“com.google.android.gms.maps.SupportMapFragment”)地图。
当我将我的应用程序切换到黑暗或夜晚模式时,除了地图片段之外,一切都在黑暗中。
有没有办法在SupportMapFragment中使用暗模式?
感谢。
我正在使用灯光模式地图
我想要下面的夜间模式地图
答案 0 :(得分:9)
您可以使用此样式api(夜间模式或您想要的任何其他样式)设置地图样式 https://developers.google.com/maps/documentation/android-sdk/styling
在拥有GoogleMap对象的类中,您可以使用以下样式: https://github.com/googlemaps/android-samples/blob/master/ApiDemos/java/app/src/main/res/raw/mapstyle_night.json
他们甚至有一个很好的预览编辑器来创建这个json: https://mapstyle.withgoogle.com/
MapStyleOptions style = MapStyleOptions.loadRawResourceStyle(this, R.raw.mapstyle_night);
GoogleMap mMap; // assigned in onMapReady()
mMap.setMapStyle(style);
答案 1 :(得分:0)
您需要在地图上添加View
,背景为深色透明:
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/myActivity_mapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"/>
<View
android:id="@+id/myActivity_mapFragmentDark"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#55000000"/>
</RelativeLayout>
所以你可以显示/隐藏这个视图来调暗地图:
mapFragmentDark.setVisibility(View.VISIBLE);
或
mapFragmentDark.setVisibility(View.GONE);