Flutter控制組件顯示和隱藏三種方式詳解
方式一: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也必須同時設置。
以上就是Flutter控制組件顯示和隱藏三種方式詳解的詳細內容,更多關於Flutter控制組件顯示隱藏的資料請關註WalkonNet其它相關文章!
推薦閱讀:
- Flutter StatefulBuilder實現局部刷新實例詳解
- Flutter實現自定義篩選框的示例代碼
- Flutter 開發一個登錄頁面
- Flutter StreamBuilder實現局部刷新實例詳解
- Flutter實現微信朋友圈功能