flutter 控件隐藏(Offstage、Visibility)

使用Offstage隐藏控件

 Offstage({ Key? key,this.offstage = true,//是否显示Widget? child //控件
})
 Column(mainAxisAlignment: MainAxisAlignment.center,children: [Offstage(offstage: isShow,child: Container(color: Colors.tealAccent,height: 100,width: 100,),),TextButton(onPressed: () {setState(() {isShow = !isShow;});},child: Text('点我 $isShow')),],),

使用Visibility

const Visibility({Key? key,required this.child,this.replacement = const SizedBox.shrink(),this.visible = true,//是否显示this.maintainState = false,//不可见时显示的组件(当maintainState = false)this.maintainAnimation = false,//不可见时,是否维持子组件中的动画this.maintainSize = false,//不可见时是否留有空间this.maintainSemantics = false,//不可见时是否维持它的语义this.maintainInteractivity = false,//不可见时是否具有交互性}) 

这三个参数必须统一值

 maintainSize: true,maintainState: true,maintainAnimation: true,
Column(mainAxisAlignment: MainAxisAlignment.center,children: [Visibility(maintainSize: true,maintainState: true,maintainAnimation: true,visible: isVisible,child: Container(color: Colors.tealAccent,height: 100,width: 100,),),TextButton(onPressed: () {setState(() {isVisible = !isVisible;});},child: Text('点我 $isShow')),],),


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部