是否可以向 GoogleMap 小部件添加不透明度?
Is it possible to add opacity to the GoogleMap widget?
我正在尝试为 GoogleMap
小部件添加不透明度,但没有看到任何变化。
我之前曾尝试用 Container
包装整个小部件,然后添加 Opacity
和 GoogleMap
作为直接子级,但这也没有用。
下面的代码构建正确,但没有添加不透明度:
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
body: Stack(
children: <Widget>[
Opacity(
opacity: 0.5,
child: GoogleMap(
onMapCreated: _onMapCreated,
myLocationButtonEnabled: false,
initialCameraPosition: CameraPosition(
target: _center,
zoom: 15.0,
),
indoorViewEnabled: false,
mapType: MapType.normal,
markers: _markers
)
),
...
]
)
)
);
}
我希望地图是不透明的。这可以通过 GoogleMaps 插件实现吗?它们会阻止这样的样式吗?
Android 上的 google_maps_flutter
plugin renders a native GMSMapView
on iOS and a native MapView
,因此 alpha 设置需要由插件本身实现才能访问它。
不幸的是,您不能像在呈现本机组件时尝试的那样使用 Flutter 的 Opacity
小部件,因为该小部件仅适用于 Flutter 本身在 canvas 上绘制的元素。
因此,如果您真的想实现这一点,则必须自己在 Android 和 iOS 中实现。在这种情况下,您可以使用 google_maps_flutter
插件作为参考。
我正在尝试为 GoogleMap
小部件添加不透明度,但没有看到任何变化。
我之前曾尝试用 Container
包装整个小部件,然后添加 Opacity
和 GoogleMap
作为直接子级,但这也没有用。
下面的代码构建正确,但没有添加不透明度:
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
body: Stack(
children: <Widget>[
Opacity(
opacity: 0.5,
child: GoogleMap(
onMapCreated: _onMapCreated,
myLocationButtonEnabled: false,
initialCameraPosition: CameraPosition(
target: _center,
zoom: 15.0,
),
indoorViewEnabled: false,
mapType: MapType.normal,
markers: _markers
)
),
...
]
)
)
);
}
我希望地图是不透明的。这可以通过 GoogleMaps 插件实现吗?它们会阻止这样的样式吗?
Android 上的 google_maps_flutter
plugin renders a native GMSMapView
on iOS and a native MapView
,因此 alpha 设置需要由插件本身实现才能访问它。
不幸的是,您不能像在呈现本机组件时尝试的那样使用 Flutter 的 Opacity
小部件,因为该小部件仅适用于 Flutter 本身在 canvas 上绘制的元素。
因此,如果您真的想实现这一点,则必须自己在 Android 和 iOS 中实现。在这种情况下,您可以使用 google_maps_flutter
插件作为参考。