Flutter控制組件的顯示和隱藏的三種方式

Flutter控制組件的顯示和隱藏的三種方式

我從cnaaa.com購買了云服務器。

方式一: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的區(qū)別:

1、Visibility 隱藏/可見,能保存組件的狀態(tài);Offstate不能保存組件的狀態(tài),組件重新加載。
2、當Offstage不可見(true)的時候,如果child有動畫等,需要手動停掉,Offstage并不會停掉動畫等操作。
3、Offstate隱藏時不占空間,Visibility可以設置隱藏時占據(jù)空間也可以不占據(jù)空間,默認不隱藏時不占據(jù)空間
備注:Visibility隱藏時占據(jù)空間如下:

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

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

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容