在Flutter中,很容易就能完全移除一个Widget,你只需要rebuild中移除就行。
但是,如果你想要一个Widget消失,但它原来的位置仍然被保留呢?这样其他图标就能留在它们原来的位置上
就如iOS里面的的hidden,Android里面的invisible
试一下Opacity Widget,只要用Opacity包在你的Widget外,并把值设置为0
final widgets = [
MyWidget(Colors.green),
Opacity(
opacity:0.0,
MyWidget(Colors.blue),
),
MyWidget(Colors.yellow),
];
如果你想要使用Opacity将一个子Widget和另一个层叠在一起
Stack(
children: [
MyImageWidget(),
Opacity(
opacity:0.25,
child:MyGraientWIdget(),
),
]
)
或者你想创建一个动态的Opacity
有一个叫做AnimatedOpacity Widget,你只要给Opacity添加一个时长,当你重新rebuild时,它就会自动的创建动画了
Stack(
children: [
MyImageWidget(),
AnimatedOpacity(
duration:_myDuration,
opacity:_myOpacity,
child:MyGraientWIdget(),
),
]
)
setState(()=>myOpacity = 0.0)
如果想了解有关Opacity的内容,或者关于Flutter的其他功能,请访问flutter.io
原文翻译自视频:视频地址