设计给的效果如下:

拿到设计后,先把整体拆分成几个部分:

  1. “公共应用栏”,可以给应用程序中的大部分页面使用的通用组件。

然后就可以开始进行编码了。

第1步:绘制组件树

第2步:实现“公共应用栏”

使用Flutter的应用栏(AppBar)组件,你可以实现一些简单定制效果。应用栏(AppBar)组件亮度(brightness)属性可以控制系统状态栏的字体颜色,比如,如果你把背景颜色(backgroundColor)属性设置成了浅色系,那么亮度(brightness)属性应该设置成明亮(light)的。

import 'package:flutter/material.dart';/// 自定义的一级导航组件。
Widget FirstNavigation(String title, [IconButton iconButton]) => AppBar(// 应用栏(`AppBar`)组件的标题(`title`)属性,应用栏中的主要组件。title: Text(title,style: TextStyle(color: Color(0xFF282828),fontSize: 18.0,),),// 图标主题(`iconTheme`)属性,用于应用栏图标的颜色、不透明度和大小。iconTheme: IconThemeData(color: Color(0xFF4A4A4A),),// 亮度(`brightness`)属性,应用栏(`AppBar`)组件的亮度。brightness: Brightness.light,// 背景颜色(`backgroundColor`)属性,用于应用栏(`AppBar`)组件的颜色。backgroundColor: Color(0xFFF9F9F9),// 中心标题(`centerTitle`)属性,标题是否应该居中。centerTitle: true,// 提高(`elevation`)属性,放置此应用栏的z坐标,可以控制应用栏下方阴影的大小。elevation: 0.0,// 行动(`actions`)属性,要在标题后显示的组件。actions: <Widget>[Container(width: 90.0,alignment: Alignment.centerRight,padding: const EdgeInsets.only(right: 8.0),decoration: BoxDecoration(image: DecorationImage(// 装饰图片(`DecorationImage`)类的图片(`image`)属性,将图像绘制成装饰。// 通常通过资产图片(`AssetImage`)使用随应用程序一起提供的图像,// 或通过网络图像(`NetworkImage`)使用从网络获取的图像。image: AssetImage('assets/bg_right_texture.png'),// 适应属性,如何在框里展示图像。// https://docs.flutter.io/flutter/painting/BoxFit-class.htmlfit: BoxFit.contain,),),// 运算符`??`,表示如果为空。child: iconButton ?? null,),],
);

第3步:还原效果

Flutter布局锦囊---简单的应用栏相关推荐

  1. Flutter布局锦囊---绑定手机页

    设计给的效果如下: 拿到设计后,先把整体拆分成几个部分: "顶部导航栏",标题+取消按钮+跳过按钮的应用栏. "手机号输入框",用于获取手机号码的圆角边框输入字 ...

  2. Flutter布局锦囊---手机号登录页

    设计给的效果如下: 拿到设计后,先把整体拆分成几个部分: "运营位",使用自定义的旋转木马滑块组件实现可以滚动的运营位. "登录表单",使用自定义的登录表单组件 ...

  3. Flutter布局锦囊---完善信息页

    设计给的效果如下: 拿到设计后,先把整体拆分成几个部分: "用户昵称输入",获取用户输入的昵称信息. "用户头像选取",获取用户选取作为头像的图片. " ...

  4. Flutter布局锦囊---蜡笔画的表单

    设计给的效果如下: 拿到设计后,先把整体拆分成几个部分: "手机号输入框",使用自定义的登录表单字段组件实现的输入框. "验证码输入框",使用自定义的登录表单验 ...

  5. Flutter布局锦囊---带输入字段的应用栏

    设计给的效果如下: 拿到设计后,先把整体拆分成几个部分: "堆栈容器",使用大小框(SizedBox)和堆栈(Stack)组件搞的容器,用于实现层次结构. "下层的导航& ...

  6. Flutter布局锦囊---带彩条的文本字段

    设计给的效果如下: 拿到设计后,先把整体拆分成几个部分: "文本输入框",使用文本字段(TextField)组件实现的输入框. "状态指示条",使用容器(Con ...

  7. Flutter布局锦囊---涂鸦风格按钮

    设计给的效果如下: 拿到设计后,先把整体拆分成几个部分: "可点击框",使用堆栈(Stack)组件布局的可点击区域. "底部矩形",用来衬托"主要矩形 ...

  8. Flutter布局锦囊---轮播图片与滑块

    设计给的效果如下: 拿到设计后,先把整体拆分成几个部分: "运营位",可以通过左右滑动来切换图片. "进度条",显示"运营位"当前位置的进度 ...

  9. Flutter布局锦囊---有背景图的头像选择

    设计给的效果如下: 拿到设计后,先把整体拆分成几个部分: "获取相册图片",Flutter团队开发的图片选择器(image_picker)插件,从手机相册中获取图片. " ...

最新文章

  1. c语言一行黑白相间的瓷砖,C语言编程练习15:贴瓷砖
  2. NB-IOT: Anchor Carrier 锚点载波
  3. 4、NIO--通道的原理和获取
  4. 51. Leetcode 106. 从中序与后序遍历序列构造二叉树 (二叉树-二叉树构建)
  5. 数据挖掘流程(三):特征工程
  6. 一天搞定HTML----常用标签01
  7. python调用perl_在Perl、Shell和Python中传参与输出帮助文档
  8. VxWorks中Timer机制
  9. jQuery.proxy用法
  10. php7对redis的扩展及redis主从搭建
  11. 从load加载数据类型是struct说起
  12. android打印机驱动4521,三星SCX-4521打印机驱动
  13. 史上最全的 SQL 注入资料,收藏不谢
  14. 生活手机必备5款APP,一用就会上瘾,简直就是生活中的好帮手
  15. Quartus | FPGA开发工具(Inter系列芯片)
  16. 破解APK并修改APK的包名
  17. 创业时代的七堂必修课
  18. js 通过传入 开始时间和结束时间 算出相差多少秒 分钟 相差时间
  19. 使用CMake构建/开始使用CMake
  20. IOS访问限制密码忘记解决方案

热门文章

  1. mysql关联表分页查询_MySQL一对多分页查询-主表关联表条件查询问题
  2. Evolution Game DP
  3. 过分的谜题 模拟+思维题
  4. pytorch学习笔记(六):softmax回归
  5. AcWing1082. 数字游戏
  6. Robot Motion(模拟题bfs)
  7. Unable to find vcvarsall.bat
  8. 由m种数字组成的n位数有多少个
  9. O(n)复杂度求没有出现的数字(leetcode448)
  10. STL数组处理常用函数