Flutter中移除一个控件非常容易,只需要在重新创建中移除即可,如果想要移除控件同时它的位置依然保留,类似于Android中View的invisible,比如Row中有3个颜色块,分别为1、2、3,代码如下:

Row(
  mainAxisAlignment: MainAxisAlignment.center,
  children: <Widget>[
    Container(
      height: 80,
      width: 80,
      color: Colors.red,
      alignment: Alignment.center,
      child: Text('1',style: TextStyle(color: Colors.white),),
    ),
    Container(
      height: 80,
      width: 80,
      color: Colors.green,
      alignment: Alignment.center,
      child: Text('2',style: TextStyle(color: Colors.white),),
    ),
    Container(
      height: 80,
      width: 80,
      color: Colors.blue,
      alignment: Alignment.center,
      child: Text('3',style: TextStyle(color: Colors.white),),
    ),
  ],
)

这时想要移除2,同时还保留2的位置,可以使用Opacity控件实现,代码如下:

Opacity(
  opacity: 0.0,
  child:  Container(
    height: 80,
    width: 80,
    color: Colors.green,
    alignment: Alignment.center,
    child: Text('2',style: TextStyle(color: Colors.white),),
  ),
)

 

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐