18、Scaffold 布局组件

发布时间 2023-11-23 16:25:54作者: 鲤斌

Scaffold 是一个非常重要的布局组件,它提供了一个常见的应用程序结构布局,包含了许多基础的 UI 元素和交互方式。

Scaffold 组件主要由以下几个部分组成:

  1. AppBar:用于显示在页面顶部的应用栏,通常包含标题、导航按钮、操作按钮等。
  2. body:包含了页面主要内容的部分,可以是任意的 Widget 组件,如 ContainerListViewColumn 等。
  3. FloatingActionButton:一个浮动操作按钮,通常用于执行常见的操作,如添加、分享、导航等。
  4. Drawer:一个侧边栏抽屉菜单,可以包含导航链接、设置、用户信息等内容。
  5. BottomNavigationBar:一个底部导航栏,可以切换不同的页面或操作。
  6. SnackBar:一个底部弹出的消息提示条,用于显示短暂的提示信息。

除了以上常用的部分,Scaffold 还支持其他属性和回调函数,以定制化页面布局和交互行为,如 backgroundColor 用于设置背景颜色、onTap 用于处理整个页面的点击事件等。

使用 Scaffold 可以帮助开发者快速构建具有常见应用程序结构的页面,而无需手动处理底层的布局细节。它提供了默认的导航、状态栏、菜单等功能,同时也可以通过嵌套其他布局组件进行自定义扩展。

总之,Scaffold 是一个灵活且功能丰富的布局组件,为 Flutter 应用程序提供了便捷的应用结构布局,并支持各种交互和定制化配置。

class HomePage2 extends StatefulWidget {
  const HomePage2({super.key});

  @override
  State<HomePage2> createState() => _HomePage2State();
}

class _HomePage2State extends State<HomePage2> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text("这是导航栏")),
      floatingActionButton: FloatingActionButton(onPressed: () {  //只能在Scaffold中使用
        
      },child: const Icon(Icons.add),),
      body: ListView(
        children:  const [
          ListTile(title: Text("我是一个列表"),),
           Divider(), 
        ],
      ),
    );
  }
}