如果您指的是Dark Mode
您可以创建自定义渲染器来实现这一点。
iOS
设置OverrideUserInterfaceStyle
在OnElementChanged
.
[assembly: ExportRenderer(typeof(Map), typeof(MyRenderer))]
namespace FormsApp.iOS
{
class MyRenderer : MapRenderer
{
protected override void OnElementChanged(ElementChangedEventArgs<View> e)
{
base.OnElementChanged(e);
if (e.NewElement != null)
{
var nativeMap = Control as MKMapView;
nativeMap.OverrideUserInterfaceStyle = UIUserInterfaceStyle.Dark;
}
}
}
}
安卓
在资源中创建一个暗模式文件并设置mapStyle
在OnElementChanged
.
[assembly: ExportRenderer(typeof(Map), typeof(MyMapRenderer))]
namespace FormsApp.Droid
{
class MyMapRenderer : MapRenderer
{
Context _context;
public MyMapRenderer(Context context) : base(context)
{
_context = context;
}
protected override void OnElementChanged(ElementChangedEventArgs<Map> e)
{
base.OnElementChanged(e);
if(e.NewElement != null)
{
NativeMap.SetMapStyle(MapStyleOptions.LoadRawResourceStyle(this.Context, Resource.Raw.map_style_night));
}
}
}
}
参考
https://forums.xamarin.com/discussion/comment/429548/#Comment_429548。
如何在 Xamarin.Forms.Maps 中使用暗模式谷歌地图?.