日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無(wú)先后,達(dá)者為師

網(wǎng)站首頁(yè) 編程語(yǔ)言 正文

Flutter控制組件顯示和隱藏三種方式詳解_Android

作者:蓮花小怪獸 ? 更新時(shí)間: 2022-12-05 編程語(yǔ)言

方式一:if語(yǔ)句控制

// 例如:
Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            if(a=="顯示")
              Text("顯示"),
           Offstage(
             offstage: false,
             child: Text("顯示"),
           ),
           Visibility(
               visible: true,
               child: Text("顯示")
           )
          ],
        ),

方式二:Offstage組件

offstage屬性控制控制child的顯示和隱藏,true時(shí):隱藏,false時(shí):顯示

Offstage(
             offstage: true,
             child: Text("顯示"),
           )

方式三: Visibility

visible屬性控制child的顯示和隱藏,true時(shí):顯示,false時(shí):隱藏

 Visibility(
               visible: true, 
               child: Text("顯示")
           )

Offstage和Visibility的區(qū)別:

1、Visibility 隱藏/可見(jiàn),能保存組件的狀態(tài);Offstage不能保存組件的狀態(tài),組件重新加載。

2、當(dāng)Offstage不可見(jiàn)(true)的時(shí)候,如果child有動(dòng)畫(huà)等,需要手動(dòng)停掉,Offstage并不會(huì)停掉動(dòng)畫(huà)等操作。

3、Offstage隱藏時(shí)不占空間,Visibility可以設(shè)置隱藏時(shí)占據(jù)空間也可以不占據(jù)空間,默認(rèn)不隱藏時(shí)不占據(jù)空間

備注:Visibility隱藏時(shí)占據(jù)空間如下:

Visibility(
  visible:false,
  maintainAnimation: true,
  maintainSize: true,
  maintainState: true,
  child: Text("顯示"),
),

強(qiáng)調(diào):maintainSize就是保持大小不變,如果只設(shè)置這個(gè)屬性,會(huì)報(bào)錯(cuò),另外兩個(gè)屬性:maintainAnimation和maintainState也必須同時(shí)設(shè)置。

原文鏈接:https://www.jianshu.com/p/8e40e281c469

欄目分類
最近更新