Flutter如何在布局中添加或删除组件

举报
yd_221104950 发表于 2020/12/02 23:49:15 2020/12/02
【摘要】 为什么要单独拿出这个来讲呢?在Android中,从父级控件调用addChild或removeChild就可以动态添加或删除View。 在Flutter中,因为widget是不可变的,所以没有addChild。但是,可以传入一个函数,该函数返回一个widget给父项,并通过布尔值控制该widget的创建。 bool offstage = false; // 控制字段...

为什么要单独拿出这个来讲呢?在Android中,从父级控件调用addChildremoveChild就可以动态添加或删除View。 在Flutter中,因为widget是不可变的,所以没有addChild。但是,可以传入一个函数,该函数返回一个widget给父项,并通过布尔值控制该widget的创建。

bool offstage = false;
  // 控制字段
  void _toggle(){ setState(() { offstage = !offstage; });
  } // 根据控制字段添加相应的widget
  _getToggleChild(){ if(offstage){ return new Text("Toggle one"); }else{ return new MaterialButton(onPressed: (){},child: new Text("Toggle two"),); }
  } @override
  Widget build(BuildContext context) { return new MaterialApp( home: new Scaffold( appBar: new AppBar( title: new Text("Hello"), ), body: Center(child: _getToggleChild(),), // 添加组件 floatingActionButton: new FloatingActionButton( onPressed: _toggle, // 控制控制字段 child: new Icon(Icons.update), ), ), );
  }

  
 

文章来源: blog.csdn.net,作者:WongKyunban,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/weixin_40763897/article/details/108165737

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。