要了解他就從定義下手
不然你根本不知道它可以幹嘛@@
const Scaffold({
super.key,
this.appBar,
this.body,
this.floatingActionButton,
this.floatingActionButtonLocation,
this.floatingActionButtonAnimator,
this.persistentFooterButtons,
this.persistentFooterAlignment = AlignmentDirectional.centerEnd,
this.drawer,
this.onDrawerChanged,
this.endDrawer,
this.onEndDrawerChanged,
this.bottomNavigationBar,
this.bottomSheet,
this.backgroundColor,
this.resizeToAvoidBottomInset,
this.primary = true,
this.drawerDragStartBehavior = DragStartBehavior.start,
this.extendBody = false,
this.extendBodyBehindAppBar = false,
this.drawerScrimColor,
this.drawerEdgeDragWidth,
this.drawerEnableOpenDragGesture = true,
this.endDrawerEnableOpenDragGesture = true,
this.restorationId,
});
super.key: 父類Widget的key,通常用於Widget的唯一識別。
appBar: 顯示在Scaffold頂部的AppBar Widget。
body: 顯示在Scaffold中央的Widget。
floatingActionButton: 顯示在Scaffold底部右側的懸浮按鈕。
floatingActionButtonLocation: 懸浮按鈕的位置。
floatingActionButtonAnimator: 懸浮按鈕動畫。
persistentFooterButtons: 顯示在Scaffold底部的持久性按鈕。
persistentFooterAlignment: 持久性按鈕對齊方式,默認為AlignmentDirectional.centerEnd。
drawer: 顯示在Scaffold左側的Drawer Widget(導覽列表)。
onDrawerChanged: Drawer狀態變化時的回調函數。
endDrawer: 顯示在Scaffold右側的Drawer Widget。
onEndDrawerChanged: EndDrawer狀態變化時的回調函數。
drawerDragStartBehavior: 拖動Drawer時的開始行為。
drawerScrimColor: Drawer打開時背景的顏色。
drawerEdgeDragWidth: 可以使用拖動手勢啟動Drawer的邊緣寬度。
drawerEnableOpenDragGesture: 是否啟用Drawer的拖動手勢,默認為true。
endDrawerEnableOpenDragGesture: 是否啟用EndDrawer的拖動手勢,默認為true。
bottomNavigationBar: 顯示在Scaffold底部的NavigationBar Widget。
bottomSheet: 顯示在Scaffold底部的Sheet Widget。
backgroundColor: Scaffold的背景顏色。
resizeToAvoidBottomInset: 當有軟鍵盤出現時,是否調整Scaffold的大小以避免被軟鍵盤覆蓋。
primary: 標記Scaffold是否為整個應用程序的主要Scaffold,默認為true。
extendBody: 是否將Scaffold的body Widget擴展到NavigationBar後面,默認為false。
extendBodyBehindAppBar: 是否將Scaffold的body Widget擴展到AppBar後面,默認為false。
restorationId: Scaffold的恢復ID,用於恢復Scaffold的狀態。