我正在尝试为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插件可以做到这一点吗?还是它们阻止了这种样式?
答案 0 :(得分:0)
google_maps_flutter
plugin在iOS上呈现本机GMSMapView
,在Android上呈现本机MapView
,因此插件本身需要实现alpha设置才能访问它。 / p>
不幸的是,您不能像渲染本机组件时那样尝试使用Flutter的Opacity
小部件,因为该小部件仅适用于Flutter本身在画布上绘制的元素。
因此,如果您真的想实现此目标,则必须自己在Android和iOS中实现。在这种情况下,您可以使用google_maps_flutter
插件作为参考。