当前位置: 首页 > article >正文

Flutter组件————AppBar

AppBar 是 Flutter 中用于创建应用程序顶部栏的组件,它遵循 Material Design 规范。

参数:

参数名称类型描述
titleWidget设置 AppBar 中的标题文本或自定义标题小部件。
automaticallyImplyLeadingbool决定是否自动添加返回按钮(如果页面不是首页)。
leadingWidget设置 AppBar 左侧的控件,如菜单图标或自定义小部件。
actionsList<Widget>设置 AppBar 右侧的操作按钮列表。
elevationdouble定义 AppBar 下方阴影的高度。
centerTitlebool决定 title 是否居中显示,默认值根据平台而异。
backgroundColorColor设置 AppBar 的背景颜色。
foregroundColorColor设置 AppBar 内部元素的颜色,例如标题和操作按钮的颜色。
shadowColorColor设置 AppBar 阴影的颜色。
surfaceTintColorColor设置 AppBar 表面高光的颜色。
toolbarHeightdouble设置 AppBar 的总高度。
bottomPreferredSizeWidget设置 AppBar 底部的小部件,如 TabBar
shapeShapeBorder定义 AppBar 的形状,例如圆角矩形等。
iconThemeIconThemeData用于定义 AppBar 内部图标的样式。
primarybool指示此 AppBar 是否是屏幕的主要工具栏。
titleSpacingdouble定义 title 周围的间距。

代码示例

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

  
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  //所有右侧行为按钮
  List<Widget> actionList = const [
    Icon(Icons.social_distance),
    SizedBox(
      width: 30,
    ),
    Icon(Icons.cyclone),
    SizedBox(
      width: 30,
    ),
    Icon(Icons.manage_accounts),
    SizedBox(
      width: 40,
    )
  ];

  
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        backgroundColor: Theme.of(context).colorScheme.inversePrimary, //背景颜色
        foregroundColor: const Color.fromARGB(135, 226, 5, 255),
        leading: const Icon(Icons.accessibility_new_rounded), //左侧按钮
        title: const Text("Flutter 示例"), //标题
        actions: actionList, //右侧按钮
        elevation: 10, //下方阴影
        shadowColor: const Color.fromARGB(136, 0, 225, 255), //阴影颜色
        centerTitle: true, // 标题是否居中(ios默认居中,Android默认居左)
        surfaceTintColor: const Color.fromARGB(172, 249, 128, 0), //表面颜色
        toolbarHeight: 45, //顶部栏高度
        iconTheme: const IconThemeData(
        size: 30, color: Color.fromARGB(207, 255, 251, 0)), //控制内部元素样式
        primary: true, // 是否显示主要按钮
        titleSpacing: 100, //标题内边距
        bottom: const TabBar(tabs: [
          Tab(icon: Icon(Icons.directions_car)),
          Tab(icon: Icon(Icons.directions_transit)),
          Tab(icon: Icon(Icons.directions_bike)),
        ]), //顶部栏底部按钮
        shape:const  RoundedRectangleBorder(
          borderRadius: BorderRadius.vertical(
            bottom: Radius.circular(15)
          )  //顶部栏底部按钮样式
        ),
      ), //顶部栏
      body: Center(
        child: ListView(
          children: [],
        ),
      ),
    );
  }
}

效果

在这里插入图片描述


http://www.kler.cn/a/445800.html

相关文章:

  • go语言zero框架中config读取不到.env文件问题排查与解决方案
  • 【日常笔记】Spring boot:编写 Content type = ‘text/plain‘ 接口
  • 【读书笔记】《论语别裁》学而有何乐
  • Git使用步骤
  • 【Vulkan入门】16-IndexBuffer
  • CPU性能优化-基于源代码的CPU调优
  • 安装指南|OpenCSG Starship上架GitHub Marketplace
  • Hadoop实验:关于MapReduce词频统计的实验步骤
  • LSTM (Long Short-Term Memory)
  • MQTT客户端向服务端建立ssl连接报错
  • 期末复习-编译原理(手写笔记)
  • 脉冲计数 记录按下的次数
  • BGP的六种状态分别是什么?
  • ElementPlus Table 表格实现可编辑单元格
  • 高中数学刷题版:集合与函数概念-函数的概念[笔记总结-干货]
  • WatchAlert - 开源多数据源告警引擎
  • 10. 考勤信息
  • Vue.js前端框架教程1:Vue应用启动和Vue组件
  • C++ STL 中有哪些容器?它们的主要区别是什么?
  • CSS系列(19)-- 主题切换详解