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

學無先后,達者為師

網站首頁 編程語言 正文

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

作者:蓮花小怪獸 ? 更新時間: 2022-12-05 編程語言

方式一:if語句控制

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

方式二:Offstage組件

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

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

方式三: Visibility

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

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

Offstage和Visibility的區別:

1、Visibility 隱藏/可見,能保存組件的狀態;Offstage不能保存組件的狀態,組件重新加載。

2、當Offstage不可見(true)的時候,如果child有動畫等,需要手動停掉,Offstage并不會停掉動畫等操作。

3、Offstage隱藏時不占空間,Visibility可以設置隱藏時占據空間也可以不占據空間,默認不隱藏時不占據空間

備注:Visibility隱藏時占據空間如下:

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

強調:maintainSize就是保持大小不變,如果只設置這個屬性,會報錯,另外兩個屬性:maintainAnimation和maintainState也必須同時設置。

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

欄目分類
最近更新