1 继续关系:

BoxDecoration:实现边框、圆角、阴影、形状、渐变、背景图像

ShapeDecoration:实现四个边分别指定颜色和宽度、底部线、矩形边色、圆形边色、体育场(竖向椭圆)、 角形(八边角)边色

FlutterLogoDecoration:实现Flutter图片

UnderlineTabindicator:下划线

2 介绍
一个背景装饰对象,相当于Android中的shape.xml,定制各种各样的背景(边框、圆角、阴影、形状、渐变、背景图像)。

3 BoxDecoration例子:
构造方法:

const BoxDecoration({
this.color, // 底色
this.image, // 图片
this.border, 边色
this.borderRadius, // 圆角度
this.boxShadow, // 阴影
this.gradient, // 渐变
this.backgroundBlendMode, // 混合Mode
this.shape = BoxShape.rectangle, // 形状
})
3.1 边框+圆角:
decoration: new BoxDecoration(
border: new Border.all(color: Color(0xFFFF0000), width: 0.5), // 边色与边宽度
color: Color(0xFF9E9E9E), // 底色
// borderRadius: new BorderRadius.circular((20.0)), // 圆角度
borderRadius: new BorderRadius.vertical(top: Radius.elliptical(20, 50)), // 也可控件一边圆角大小
),
3.2 阴影:
decoration: new BoxDecoration(
border: new Border.all(color: Color(0xFFFF0000), width: 0.5), // 边色与边宽度
// 生成俩层阴影,一层绿,一层黄, 阴影位置由offset决定,阴影模糊层度由blurRadius大小决定(大就更透明更扩散),阴影模糊大小由spreadRadius决定
boxShadow: [BoxShadow(color: Color(0x99FFFF00), offset: Offset(5.0, 5.0), blurRadius: 10.0, spreadRadius: 2.0), BoxShadow(color: Color(0x9900FF00), offset: Offset(1.0, 1.0)), BoxShadow(color: Color(0xFF0000FF))],
),
3.3 形状(圆形与矩形):
decoration: new BoxDecoration(
border: new Border.all(color: Color(0xFFFFFF00), width: 0.5), // 边色与边宽度
color: Color(0xFF9E9E9E), // 底色
// shape: BoxShape.circle, // 圆形,使用圆形时不可以使用borderRadius
shape: BoxShape.rectangle, // 默认值也是矩形
borderRadius: new BorderRadius.circular((20.0)), // 圆角度
),
3.4 渐变(环形、扫描式、线性):
decoration: new BoxDecoration(
border: new Border.all(color: Color(0xFFFFFF00), width: 0.5), // 边色与边宽度
// 环形渲染
gradient: RadialGradient(colors: [Color(0xFFFFFF00), Color(0xFF00FF00), Color(0xFF00FFFF)],radius: 1, tileMode: TileMode.mirror)
//扫描式渐变
// gradient: SweepGradient(colors: [Color(0xFFFFFF00), Color(0xFF00FF00), Color(0xFF00FFFF)], startAngle: 0.0, endAngle: 1*3.14)
// 线性渐变
// gradient: LinearGradient(colors: [Color(0xFFFFFF00), Color(0xFF00FF00), Color(0xFF00FFFF)], begin: FractionalOffset(1, 0), end: FractionalOffset(0, 1))
),
3.4 背景图像:
decoration: new BoxDecoration(
border: new Border.all(color: Color(0xFFFFFF00), width: 0.5), // 边色与边宽度
image: new DecorationImage(
image: new NetworkImage('https://avatar.csdn.net/8/9/A/3_chenlove1.jpg'), // 网络图片
// image: new AssetImage('graphics/background.png'), 本地图片
fit: BoxFit.fill // 填满
// centerSlice: new Rect.fromLTRB(270.0, 180.0, 1360.0, 730.0),// 固定大小
),
),
4 ShapeDecoration例子:
构造方法:

const ShapeDecoration({
this.color,
this.image,
this.gradient,
this.shadows,
@required this.shape,
})
除了shape,其他与BoxDecoration一致,shape研究:

decoration: new ShapeDecoration(
color: Color(0xFFFF00FF), // 底色
// 统一四边颜色和宽度
shape: Border.all(color: Color(0xFF00FFFF),style: BorderStyle.solid,width: 2)
// 四个边分别指定颜色和宽度, 当只给bottom时与UnderlineInputBorder一致效果
// shape: Border(top: b, bottom: b, right: b, left: b)
// 底部线
// shape: UnderlineInputBorder( borderSide:BorderSide(color: Color(0xFFFFFFFF), style: BorderStyle.solid, width: 2))
// 矩形边色
// shape: RoundedRectangleBorder(borderRadius: BorderRadius.all(Radius.circular(10)), side: BorderSide(color: Color(0xFFFFFFFF), style: BorderStyle.solid, width: 2))
// 圆形边色
// shape: CircleBorder(side: BorderSide(color: Color(0xFFFFFF00), style: BorderStyle.solid, width: 2))
// 体育场(竖向椭圆)
// shape: StadiumBorder(side: BorderSide(width: 2, style: BorderStyle.solid, color: Color(0xFF00FFFF))
// 角形(八边角)边色
// shape: BeveledRectangleBorder(borderRadius: BorderRadius.all(Radius.circular(10)), side: BorderSide(color: Color(0xFFFFFFFF), style: BorderStyle.solid, width: 2))
),
5 FlutterLogoDecoration例子:
构造方法:

const FlutterLogoDecoration({
this.lightColor = const Color(0xFF42A5F5), // Colors.blue[400]
this.darkColor = const Color(0xFF0D47A1), // Colors.blue[900]
this.textColor = const Color(0xFF616161),
this.style = FlutterLogoStyle.markOnly,
this.margin = EdgeInsets.zero,
})
这个就不解析了,Flutter的logo,开发没啥用!

6 UnderlineTabindicator例子:
构造方法:

const UnderlineTabIndicator({
this.borderSide = const BorderSide(width: 2.0, color: Colors.white),
this.insets = EdgeInsets.zero,
})
这个比较简单就是加下划线,可以设置Insets值(控制下划高底,左右边距)

decoration: new UnderlineTabIndicator(
borderSide: BorderSide(width: 2.0, color: Colors.white),
insets: EdgeInsets.fromLTRB(0,0,0,10)

原文:https://blog.csdn.net/chenlove1/article/details/83627831

转载于:https://www.cnblogs.com/ckAng/p/10666222.html

Flutter之Decoration(边框、圆角、阴影、形状、渐变、背景图像等)相关推荐

  1. (六)Flutter 基础部件 TextView 和TextStyle Flutter 容器 装饰盒子 边框 圆角 阴影 形状 渐变 背景图像

    RichText:行内多样式的文字 import 'package:flutter/material.dart';class BasicDemo extends StatelessWidget {@o ...

  2. css 背景渐变 图像_交叉渐变背景图像

    css 背景渐变 图像 I've been working on a method to fade a page background image sequence, like the current ...

  3. css样式如何设置边框,阴影,渐变等特效以及通过box-sizing属性设置盒子模型,背景区域设置等

    今天,我继续来和大家聊聊css3. 在css3中,新增了很多样式,使得页面更加的美观,效果更加的优秀. 但是,同样要注意的是,很多css3提出的新样式没有得到浏览器的支持,也就意味着有一部分的css3 ...

  4. css如何实现边框圆角阴影,css3圆角边框和边框阴影示例

    border-radius向元素添加圆角边框,css3中的.ie9+ chrome safari5+ firefox4+ 现在都支持.可以向input div等设置边框.与border相似,可以四个角 ...

  5. Flutter之Decoration

    1.不废话,先爆照看效果 2.Decoration介绍 Flutter的Decoration可以设置:背景色 背景图 边框 圆角 阴影 渐变色 的等属性,有点像android里面的shape,Deco ...

  6. 转:Flutter Decoration背景设定(边框、圆角、阴影、形状、渐变、背景图像等)...

    1 继续关系: BoxDecoration:实现边框.圆角.阴影.形状.渐变.背景图像 ShapeDecoration:实现四个边分别指定颜色和宽度.底部线.矩形边色.圆形边色.体育场(竖向椭圆).  ...

  7. Flutter Decoration背景设定(边框、圆角、阴影、形状、渐变、背景图像等)

    1 继续关系: BoxDecoration:实现边框.圆角.阴影.形状.渐变.背景图像 ShapeDecoration:实现四个边分别指定颜色和宽度.底部线.矩形边色.圆形边色.体育场(竖向椭圆).  ...

  8. anroid边框阴影-圆角阴影-渐变阴影

    anroid给边框加阴影只能对内阴影,没有给边框对外加阴影,在自定义shape中增加一层或多层,并错开,即可显示阴影效果. 给边框加阴影可使用<layer-list  多图层叠加,但是对于圆角边 ...

  9. Flutter之Decoration(编写圆角竖线)

    自己根据资料编写圆角竖线,具体实现代码如下: Container(margin: EdgeInsets.fromLTRB(10, 10, 5, 10),width: 3,height: 11,deco ...

最新文章

  1. SQLite FTS5使用小技巧
  2. 不要重复发明轮子:C++重用的5重境界
  3. pm2集群模式mysql配置_pm2 配置方式
  4. sql注入攻击与防御第二版读书笔记二——SQL盲注利用
  5. 汇编中16进制的写法问题
  6. opengl 如何加阴影_零基础如何2个月上岗C++工程师(内附资料)
  7. 9个最新的手机/移动设备jQuery插件
  8. Python——Django-settings.py的内容
  9. 设置Kafka集群的方法
  10. Java文件File类型转BASE64
  11. SIM卡相关知识浅谈
  12. 支持Android 11安卓Flash播放器终极版源码方案2022(1:概叙)
  13. 路由器和三层交换机区别
  14. Operator基础:1: Operator Framework简介
  15. ALPS 2.3.0 安装教程
  16. 是java运行时环境的缩写,java运行环境的英文缩写
  17. ItChat4JS -- 用NodeJs扩展个人微信号的能力
  18. Android中的PendingIntent 原理
  19. 怎么实现MindMapper中剪贴画的添加
  20. python数据去重_python 大数据去重

热门文章

  1. videoview 播放视频
  2. 关于32bit与4Gib的问题
  3. 通过小代码体验程序中BSS段和DATA段的差异
  4. 论文阅读:DENSELY CONNECTED CONVOLUTIONAL NETWORKS
  5. 深度学习笔记6:Learning color features with Sparse Autoencoders
  6. HtmlUnit动态执行js函数
  7. c语言单词翻译大全,c语言单词翻译
  8. JavaScript 运行机制详解
  9. xshell突然连接不上虚拟机解决办法
  10. Java的知识点25——程序、进程与线程 || 线程的创建和启动