Flutter入门: Scaffold详解 ㊢

Auth:𝕃𝕖𝕠𝕏       Date:2024/04/26       Cat:编程       Word:共2057字

当前版本 Flutter 3.19.5

前言

Scaffold 用于构建应用程序的基本布局结构。它提供了一个标准的应用程序布局,包括顶部的应用栏、底部的导航栏、抽屉菜单等,以及中间可变化的主体内容区域。

Scaffold API

属性

属性一览

appBar: 页面上方导航条

可以用来实现导航栏的部件有: AppBar/ Tab / TabBar / CupertinoTabBar / ObstructingPreferredSizeWidget / PreferredSize

一般不会单独把 Tab / TabBar 拿来实现appBar

实现

final PreferredSizeWidget? appBar;

AppBar 示例

Flutter入门: Scaffold详解 ㊢ - 第1张图片

Scaffold(
  appBar: AppBar(
    elevation: 1,
    title: const Text('This is a AppBar'),
    shadowColor: Colors.green,
  ),
)

完整的AppBar用法详解

Tab 示例

Flutter入门: Scaffold详解 ㊢ - 第2张图片

Scaffold(
  appBar: Tab(
    icon: Icon(Icons.directions_car),
    text: 'Tab',
    iconMargin: EdgeInsets.only(top: 50),
    height: 100,
  ),
)

TabBar 示例

Flutter入门: Scaffold详解 ㊢ - 第3张图片

return const DefaultTabController(
  length: 6,
  initialIndex: 1,
  child: Scaffold(
    appBar: TabBar(
      tabs: [
        Tab(icon: Icon(Icons.directions_car)),
        Tab(icon: Icon(Icons.directions_bike)),
        Tab(icon: Icon(Icons.directions_car)),
        Tab(icon: Icon(Icons.directions_bike)),
        Tab(icon: Icon(Icons.directions_car)),
        Tab(icon: Icon(Icons.directions_bike)),
      ],
    ),
  ),
);

完整的TabBar用法详解

CupertinoTabBar 示例

Flutter入门: Scaffold详解 ㊢ - 第4张图片

return DefaultTabController(
  length: 3,
  child: Scaffold(
    appBar: CupertinoTabBar(
      items: const [
        BottomNavigationBarItem(
          icon: Icon(CupertinoIcons.star_fill),
          label: 'Favorites',
        ),
        BottomNavigationBarItem(
          icon: Icon(CupertinoIcons.clock_solid),
          label: 'Recents',
        ),
        BottomNavigationBarItem(
          icon: Icon(CupertinoIcons.person_alt_circle_fill),
          label: 'Contacts',
        ),
        BottomNavigationBarItem(
          icon: Icon(CupertinoIcons.circle_grid_3x3_fill),
          label: 'Keypad',
        ),
      ],
    ),
  ),
);

完整的CupertinoTabBar用法详解

...未完待续...

《Flutter入门: Scaffold详解 ㊢》留言数:0

发表留言