1.Scaffold
1.1 繼承關係
Object > Diagnosticable > DiagnosticableTree > Widget > StatefulWidget > Scaffold
1.2 介紹
實現基本設計視覺佈局結構。支撐整個界面的內容,也是繼承於Widget,一個控件。
1.3 參數詳解
參數類型 |
成員 |
參數說明 |
Key |
||
appBar |
見下面第2節 |
|
Body |
內容控件 |
|
floatingActionButton |
浮動按鈕 FloatingActionButton |
|
floatingActionButtonLocation |
浮動按鈕放置的位置,枚舉: FloatingActionButtonLocation. endFloat 右邊,居底部控件之上面 centerFloat 中間,居底部控件之上面 endDocked 右邊,浮動在底部控件之上 centerDocked 中邊,浮動在底部控件之上 |
|
floatingActionButtonAnimator |
浮動按鈕動畫:FloatingActionButtonAnimator.scaling |
|
persistentFooterButtons |
底部控件二,如正面效果 |
|
Drawer |
左滑佈局 ,主動調用: Scaffold.of(context).openDrawer(); |
|
endDrawer |
右滑佈局 ,主動調用: Scaffold.of(context).openEndDrawer(); |
|
bottomNavigationBar |
底部控件三 |
|
bottomSheet |
底部控件一 |
|
backgroundColor |
背景顏色 |
|
resizeToAvoidBottomPadding 默認值:true |
是否調整主體的大小以避免鍵盤遮擋部分佈局 |
|
primary 默認值: true |
是否填充頂部(狀態欄) |
2.PreferredSizeWidget
1.1 繼承關係
Object > Diagnosticable > DiagnosticableTree > Widget Implemented PreferredSizeWidget
2.2 介紹
帶“默認”大小的控件。Scaffold成員appBar主要是使用子類,AppBar,CupertinoTabBar等,如下圖:
PreferredSizeWidget是 implements Widget(在Dart語言中,類和接口是統一的,都是接口),在Widget基礎上只增加了Size preferredSize。
AppBar |
一個設計應用程序欄。 |
TabBar |
顯示水平行標籤的選項 通常創建爲AppBar的AppBar.bottom部分並與TabBarView結合使用。 |
CupertinoTabBar |
iOS風格的底部導航標籤欄 |
CupertinoNavigationBar |
iOS風格的導航欄。 導航欄是一個工具欄,最小程度上由工具欄中間的小部件組成,通常是頁面標題。 |
PreferredSize |
自定義導航欄使用 |
以Bar結尾有:
AppBar:一個設計應用程序欄
BottomAppBar 在Scaffold使用,底部添加控件
BottomNavigationBar 在Scaffold使用,實現底部類似tabBar效果
ButtonBar 一個按鈕欄
CupertinoApp 一個便利小部件,它包含了iOS設計目標應用程序通常需要的許多小部件。
CupertinoNavigationBar iOS樣式的導航欄
CupertinoSliverNavigationBar iOS風格的導航欄,採用尺寸爲iOS-11的大型標題。
CupertinoTabBar iOS風格的底部導航標籤欄。
TabBar 底部導航標籤欄。
FlexibleSpaceBar 常用於SliverAppBar.flexibleSpace字段,靈活的空格鍵隨着應用滾動而擴展和收縮
GridTitleBar 用於在GridTile上添加一個或兩個行頁眉或頁腳。
SliverAppBar 與CustomScrollView集成的材質設計應用欄。
SnackBar 帶有可選操作的輕量級消息,短暫顯示在屏幕底部。