Flutter——最详细(AppBar)使用教程

AppBar简介

Material Design 应用栏(标题栏)

使用场景:

顶部标题栏包括一些常用的菜单按钮

属性作用
leading左边工具视图
automaticallyImplyLeading左边图标的颜色
title标题视图
actions右边菜单按钮
flexibleSpace其高度将与应用栏的整体高度相同
bottom左侧底部文本内容
elevation底部阴影
scrolledUnderElevation左侧底部文本最大行数
shadowColor阴影样式
surfaceTintColor应用栏背景色以指示高度的表面色调叠加的颜色
shape标题栏样式选择
backgroundColor标题栏背景色
foregroundColor标题栏前景色
iconTheme用于工具栏图标的颜色、不透明度和大小
actionsIconTheme用于工具栏图标的颜色、不透明度和大小
primary此应用栏是否显示在屏幕顶部
centerTitle标题是否居中
excludeHeaderSemantics标题是否应使用标题 Semantics 包装
titleSpacing标题间距
toolbarOpacity应用栏的工具栏部分的不透明程度
bottomOpacity应用栏底部的不透明程度
toolbarHeight标题栏高度
leadingWidth左边视图宽度
toolbarTextStyle主题相关,所有AppBar的字体样式
titleTextStyle主题相关,所有title的字体样式
systemOverlayStyle顶部系统状态栏样式

leading、title、actions: 组合使用效果图

在这里插入图片描述

Scaffold(appBar: AppBar(title: Text('Flutter App Bar'),leading: IconButton(icon: Icon(Icons.arrow_back),onPressed: () {// 处理返回操作},),actions: [IconButton(icon: Icon(Icons.search),onPressed: () {// 处理搜索操作},),IconButton(icon: Icon(Icons.more_vert),onPressed: () {// 处理更多操作},),],),body: Container(),);

iconTheme: 效果图
要注意 iconTheme 单独使用时,会应用到所有的Icon样式
actionsIconTheme 两个属性组合使用时,则会区分Icon 样式

在这里插入图片描述
在这里插入图片描述

 Scaffold(appBar: AppBar(title: Text('Flutter App Bar'),leading: IconButton(icon: Icon(Icons.arrow_back),onPressed: () {// 处理返回操作},),iconTheme: IconThemeData(color: Colors.red, // 修改图标颜色size: 30.0,       // 修改图标大小),actionsIconTheme: IconThemeData(color: Colors.blue, // 修改图标颜色size: 30.0, // 修改图标大小),actions: [IconButton(icon: Icon(Icons.search),onPressed: () {// 处理搜索操作},),IconButton(icon: Icon(Icons.more_vert),onPressed: () {// 处理更多操作},),],),body: Container(),);

backgroundColor: 背景色 黄色
foregroundColor: 前景色 绿色 会覆盖标题的色值

在这里插入图片描述

Scaffold(appBar: AppBar(title: Text('我是绿色'),leading: IconButton(icon: Icon(Icons.arrow_back),onPressed: () {// 处理返回操作},),iconTheme: IconThemeData(color: Colors.red, // 修改图标颜色size: 30.0, // 修改图标大小),actionsIconTheme: IconThemeData(color: Colors.blue, // 修改图标颜色size: 30.0, // 修改图标大小),backgroundColor: Colors.yellow,foregroundColor: Colors.greenAccent,actions: [IconButton(icon: Icon(Icons.search),onPressed: () {// 处理搜索操作},),IconButton(icon: Icon(Icons.more_vert),onPressed: () {// 处理更多操作},),],),body: Container(),);

titleTextStyle: 标题字体样式
titleSpacing: 标题左边间距

在这里插入图片描述

Scaffold(appBar: AppBar(title: Text('我是紫色'),leading: IconButton(icon: Icon(Icons.arrow_back),onPressed: () {// 处理返回操作},),iconTheme: IconThemeData(color: Colors.red, // 修改图标颜色size: 30.0, // 修改图标大小),actionsIconTheme: IconThemeData(color: Colors.blue, // 修改图标颜色size: 30.0, // 修改图标大小),backgroundColor: Colors.yellow,foregroundColor: Colors.greenAccent,titleTextStyle: TextStyle(color: Colors.deepPurple,   // 修改标题文本颜色fontSize: 24.0,       // 修改标题文本字体大小fontWeight: FontWeight.bold,  // 修改标题文本字体粗细),titleSpacing: 30,actions: [IconButton(icon: Icon(Icons.search),onPressed: () {// 处理搜索操作},),IconButton(icon: Icon(Icons.more_vert),onPressed: () {// 处理更多操作},),],),body: Container(),);

centerTitle: 标题是否居中展示,默认靠左
toolbarHeight: 标题栏的高度

在这里插入图片描述

Scaffold(appBar: AppBar(title: Text(' App Bar'),leading: IconButton(icon: Icon(Icons.arrow_back),onPressed: () {// 处理返回操作},),iconTheme: IconThemeData(color: Colors.red, // 修改图标颜色size: 30.0, // 修改图标大小),actionsIconTheme: IconThemeData(color: Colors.blue, // 修改图标颜色size: 30.0, // 修改图标大小),backgroundColor: Colors.yellow,foregroundColor: Colors.greenAccent,centerTitle: true,titleTextStyle: TextStyle(color: Colors.deepPurple, // 修改标题文本颜色fontSize: 24.0, // 修改标题文本字体大小fontWeight: FontWeight.bold, // 修改标题文本字体粗细),toolbarHeight: 100,actions: [IconButton(icon: Icon(Icons.search),onPressed: () {// 处理搜索操作},),IconButton(icon: Icon(Icons.more_vert),onPressed: () {// 处理更多操作},),],),body: Container(),);

systemOverlayStyle: 系统状态栏样式修改

在这里插入图片描述

Scaffold(appBar: AppBar(title: Text(' App Bar'),leading: IconButton(icon: Icon(Icons.arrow_back),onPressed: () {// 处理返回操作},),iconTheme: IconThemeData(color: Colors.red, // 修改图标颜色size: 30.0, // 修改图标大小),actionsIconTheme: IconThemeData(color: Colors.blue, // 修改图标颜色size: 30.0, // 修改图标大小),backgroundColor: Colors.yellow,foregroundColor: Colors.greenAccent,centerTitle: true,titleTextStyle: TextStyle(color: Colors.deepPurple, // 修改标题文本颜色fontSize: 24.0, // 修改标题文本字体大小fontWeight: FontWeight.bold, // 修改标题文本字体粗细),toolbarHeight: 100,actions: [IconButton(icon: Icon(Icons.search),onPressed: () {// 处理搜索操作},),IconButton(icon: Icon(Icons.more_vert),onPressed: () {// 处理更多操作},),],systemOverlayStyle: SystemUiOverlayStyle(statusBarColor: Colors.blue, // 设置状态栏背景颜色statusBarIconBrightness: Brightness.dark, // 设置状态栏图标的亮度,dark表示黑色图标),),body: Container(),);

toolbarOpacity: 设置标题栏透明度 0.5

在这里插入图片描述

  toolbarOpacity: 0.5,

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/138062.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux下IO模及其特点及select

ftp实现 模拟FTP核心原理:客户端连接服务器后,向服务器发送一个文件。文件名可以通过参数指定,服务器端接收客户端传来的文件(文件名随意),如果文件不存在自动创建文件,如果文件存在&#xff0c…

阿里巴巴将开源720亿参数大模型;开源语言大模型演进史

🦉 AI新闻 🚀 阿里巴巴将开源720亿参数大模型 摘要:在2023世界互联网大会乌镇峰会上,阿里巴巴集团CEO吴泳铭透露,阿里巴巴即将开源720亿参数大模型,这将是国内参数规模最大的开源大模型。目前&#xff0c…

Linux的基本指令(1)

目录 快速认识的几个指令 pwd指令 mkdir指令 touch指令 cd指令 clear指令 whoami指令 ls指令 ls -l ls -la ls 目录名 ls -ld 目录名 文件 路径 路径是什么? 路径的形成 ​ 怎么保证路径必须有唯一性? ls -la隐藏文件 隐藏文件的是什…

Haproxy实现七层负载均衡

目录 Haproxy概述 haproxy算法: Haproxy实现七层负载 ①部署nginx-server测试页面 ②(主/备)部署负载均衡器 ③部署keepalived高可用 ④增加对haproxy健康检查 ⑤测试 Haproxy概述 haproxy---主要是做负载均衡的7层,也可以做4层负载均衡 apache也可…

在Spring Boot中使用JTA实现对多数据源的事务管理

了解事务的都知道,在我们日常开发中单单靠事务管理就可以解决绝大多数问题了,但是为啥还要提出JTA这个玩意呢,到底JTA是什么呢?他又是具体来解决啥问题的呢? JTA JTA(Java Transaction API)是…

Leetcode 剑指 Offer II 052. 递增顺序搜索树

题目难度: 简单 原题链接 今天继续更新 Leetcode 的剑指 Offer(专项突击版)系列, 大家在公众号 算法精选 里回复 剑指offer2 就能看到该系列当前连载的所有文章了, 记得关注哦~ 题目描述 给你一棵二叉搜索树,请 按中序遍历 将其重新排列为一…

初识RabbitMQ - 安装 - 搭建基础环境

RabbitMQ 各个名词介绍 Broker:接收和分发消息的应用,RabbitMQ Server 就是 Message Broker Virtual host:出于多租户和安全因素设计的,把 AMQP 的基本组件划分到一个虚拟的分组中,类似于网络中的 namespace 概念。当…

使用ffmpeg 压缩视频

我有一批1080p的视频,在网上播放占用空间太大,需要进行压缩以后再上传,下面是记录一下ffmpeg命令的使用情况 原视频大小:288mb --压缩加修改分辨率 640p ffmpeg -y -i C4995.mp4 -vcodec libx264 -crf 18 -s vga C4995\C4995_2.MP4 -y: 强制覆盖 -i :输入文件 -vcodec lib…

整治PPOCRLabel中cv2文件读取问题(更新中)

PPOCRLabel 使用PPOCRLabel对ocr预标注结果进行纠正由于PaddleOCR代码库十分混乱,路径经常乱调pip和代码库的代码(pip库和源码冲突),经常报错,因此paddleocr和ppocrlabel都是使用pip包; 安装 pip install PPOCRLabel2.1.3启动 PPOCRLabel…

软件之禅(七)面向对象(Object Oriented)

黄国强 2023/11/11 前文提到面向对象构建的模块控制器,根据第一性原理,从图灵机的角度,面向对象不是最基本的元素。那么面向对象是不是不重要呢? 答案是否定的,面向对象非常非常重要。当我们面对一个具体的领域…

拦截器学习(黑马程序员)

实现步骤: 定义拦截器注册配置拦截器 1 自定义拦截器:实现HandlerInterceptor接口,并重写其所有方法: //自定义拦截器 Component public class LoginCheckInterceptor implements HandlerInterceptor { //目标资源方法执行前执…

2022最新版-李宏毅机器学习深度学习课程-P50 BERT的预训练和微调

模型输入无标签文本(Text without annotation),通过消耗大量计算资源预训练(Pre-train)得到一个可以读懂文本的模型,在遇到有监督的任务是微调(Fine-tune)即可。 最具代表性是BERT&…

3.1 IDA Pro编写IDC脚本入门

IDA Pro内置的IDC脚本语言是一种灵活的、C语言风格的脚本语言,旨在帮助逆向工程师更轻松地进行反汇编和静态分析。IDC脚本语言支持变量、表达式、循环、分支、函数等C语言中的常见语法结构,并且还提供了许多特定于反汇编和静态分析的函数和操作符。由于其…

Docker学习——⑥

文章目录 1、什么是存储卷?2、为什么需要存储卷?3、存储卷分类4、管理卷 Volume5、绑定卷 bind mount6、临时卷 tmpfs7、综合实战-MySQL 灾难恢复8、常见问题 1、什么是存储卷? 存储卷就是将宿主机的本地文件系统中存在的某个目录直接与容器内部的文件系统上的某一目录建立…

AI 引擎系列 5 - 以 AI 引擎模型为目标运行 AI 引擎编译器(2022.1 更新)

AI 引擎系列 5 - 以 AI 引擎模型为目标运行 AI 引擎编译器(2022.1 更新) 简介 在先前的 AI 引擎系列博文中,我们以 x86 模型为目标运行了 AI 引擎编译器,并运行了 X86 仿真器来验证 AI 引擎应用的功能模型。在本文中,…

2011年09月21日 Go生态洞察:Go图像处理包

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

Javaweb之javascript的BOM对象的详细解析

1.5.2 BOM对象 接下来我们学习BOM对象,BOM的全称是Browser Object Model,翻译过来是浏览器对象模型。也就是JavaScript将浏览器的各个组成部分封装成了对象。我们要操作浏览器的部分功能,可以通过操作BOM对象的相关属性或者函数来完成。例如&#xff1a…

【docker:容器提交成镜像】

容器创建部分请看:点击此处查看我的另一篇文章 容器提交为镜像 docker commit -a "sinwa lee" -m "首页变化" mynginx lxhnginx:1.0docker run -d -p 88:80 --name lxhnginx lxhnginx:1.0为啥没有变啊,首页? 镜像打包 …

【CCF-C解刊】4区逆袭到1区TOP,这本期刊实力强劲,34天录用,7天见刊!

计算机类 • 好刊解读 今天小编带来Elsevier旗下计算机领域好刊的解读,这本期刊从4区逆袭成为中科院1区(TOP),如此实力强劲的期刊,究竟如何? 如有相关领域作者有意向投稿,可作为重点关注&…

离散Hopfield神经网络分类——高校科研能力评价

大家好,我是带我去滑雪! 高校科研能力评价的重要性在于它对高等教育和科研体系的有效运作、发展和提高质量具有深远的影响。良好的科研能力评价可以帮助高校识别其在不同领域的强项和薄弱点,从而制定战略,改进教学和科研&#xff…