Flutter之Decoration

1、不废话,先爆照看效果

 

 

 

 

 

 

2、Decoration介绍

Flutter的Decoration可以设置:背景色 背景图 边框 圆角 阴影 渐变色 的等属性,有点像android里面的shape,Decoration 是基类,它的子类有下面这些

  • BoxDecoration:实现边框、圆角、阴影、形状、渐变、背景图像
  • ShapeDecoration:实现四边分别指定颜色和宽度、底部线、矩形边色、圆形边色、体育场(竖向椭圆)、 角形(八边角)边色
  • FlutterLogoDecoration:Flutter图片
  • UnderlineTabindicator:下划线

这里先介绍常用的 BoxDecoration,构造方法

const BoxDecoration({this.color,//背景色this.image,//图片this.border,//描边this.borderRadius,//圆角大小this.boxShadow,//阴影this.gradient,//渐变色this.backgroundBlendMode,//图像混合模式this.shape = BoxShape.rectangle,//形状,BoxShape.circle和borderRadius不能同时使用
})

boxShadow 阴影

  • color - 阴影颜色
  • offset - 阴影相偏移量
  • blurRadius - 高斯模糊数值
  • spreadRadius - 阴影膨胀量,这个值我是真不知有啥用,没场景啊,一般不写这个值

gradient渐变
支持2种渐变:LinearGradient线性渐变 和 RadialGradient扫描渐变

  • LinearGradient :
  • begin - 渐变开始的位置
  • end - 渐变结束的位置
  • colors - 渐变颜色,是数组
  • stops - 值列表,装有0.0到1.0的数值
  • tileMode - 平铺模式

shape形状

  • rectangle是矩形,BoxShape.circle是圆形,BoxShape.circle和borderRadius不能一起使用

 

 

 

 

 


3、代码测试

效果1测试代码

  @overrideWidget build(BuildContext context) {return MaterialApp(title: 'open url',home: Scaffold(appBar: AppBar(// Here we take the value from the MyHomePage object that was created by// the App.build method, and use it to set our appbar title.title: Text('hello flutter'),),body: Center(child: DecoratedBox(
//              padding: EdgeInsets.all(16),
//            padding: EdgeInsets.fromLTRB(10, 20, 30, 40),
//            padding: EdgeInsets.only(left: 10, right: 30),decoration: BoxDecoration(// 背景色color: Colors.lightBlueAccent,// 边框,border: Border.all(color: Colors.yellowAccent, style: BorderStyle.solid, width: 5),// 背景图image: new DecorationImage(image: new NetworkImage('https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=1484037605,2864708693&fm=11&gp=0.jpg'),fit: BoxFit.cover),borderRadius: BorderRadius.all(Radius.circular(30)),boxShadow:[BoxShadow(color: Colors.redAccent,offset: Offset(20, 20),blurRadius: 10,),]),child: Container(height: 200,width: 200,),),),),);}
}

 

效果2测试代码

  @overrideWidget build(BuildContext context) {return MaterialApp(title: 'open url',home: Scaffold(appBar: AppBar(// Here we take the value from the MyHomePage object that was created by// the App.build method, and use it to set our appbar title.title: Text('hello flutter'),),body: Center(child: DecoratedBox(
//              padding: EdgeInsets.all(16),
//            padding: EdgeInsets.fromLTRB(10, 20, 30, 40),
//            padding: EdgeInsets.only(left: 10, right: 30),decoration: BoxDecoration(// 背景色gradient: LinearGradient(colors:[Colors.blue, Colors.green]), //背景渐变color: Colors.lightBlueAccent,// 背景图borderRadius: BorderRadius.all(Radius.circular(3)),boxShadow: [ //阴影BoxShadow(color:Colors.black54,offset: Offset(2.0,2.0),blurRadius: 4.0)]),child: Padding(padding: EdgeInsets.symmetric(horizontal: 80.0, vertical: 18.0),child: Text("chenyu", style: TextStyle(color: Colors.white),),)),),),);}
}

 

效果3测试代码

  @overrideWidget build(BuildContext context) {return MaterialApp(title: 'open url',home: Scaffold(appBar: AppBar(// Here we take the value from the MyHomePage object that was created by// the App.build method, and use it to set our appbar title.title: Text('hello flutter'),),body: Center(child: DecoratedBox(
//              padding: EdgeInsets.all(16),
//            padding: EdgeInsets.fromLTRB(10, 20, 30, 40),
//            padding: EdgeInsets.only(left: 10, right: 30),decoration: BoxDecoration(// 背景色border: Border.all(color: Colors.yellowAccent, style: BorderStyle.solid, width: 5),// 背景图image: new DecorationImage(image: new NetworkImage('https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=1484037605,2864708693&fm=11&gp=0.jpg'),fit: BoxFit.cover),shape: BoxShape.circle,),child: Container(width: 200,height: 200,),),),),);}
}

 

 

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

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

相关文章

DRBD 部署

主备模式DRBD1:eth0:10.0.0.3eth1:172.16.1.3 用于心跳线和数据同步(在工作中,一般把心跳线分开)DRBD2:eth0:10.0.0.4eth1:172.16.1.4 用于心跳线和数据同步(在工作中,一…

.net 服务器端自定义分页控件 简单示例

使用效果如图&#xff1a; 先将控件添加到工具箱 将控件拖入到页面 会自动生成如下代码 <pager:pager ID"Pager1" runat"server" Pagesize"2" OnPageIndexChange"Pager1_PageIndexChange1"> </pager:pager> 后台代码自己…

XenApp_XenDesktop_7.6实战篇之十五:StoreFront的配置

1. StoreFront服务器证书申请 我们将为StoreFront 申请Web 服务器证书&#xff0c;将此证书应用到StoreFront 的IIS 站点上&#xff0c;并将IIS 的443 端口绑定此证书&#xff0c;以使我们从内网可以安全访问StoreFront 站点。也为后续的与NetScaler 集成做好准备。 1.1 在开…

【无人机组装与调试】第四章 F450四轴装机实例-选择机型、需要的器材工具材料

【无人机组装与调试】系列课程全集: 第一章 概述 第二章 关于新西达30A电调说明书的问题 第三章 舵机安装与调整 第四章 F450四轴装机实例-选择机型、需要的器材工具材料 第五章 无人机遥控器 第六章 电调、电池、电机 第四章 F450四轴装机实例-选择机型、需要的器材工具材料…

面向对象类的使用(15)

本系列文章将会以通俗易懂的对话方式进行教学&#xff0c;对话中将涵盖了新手在学习中的一般问题。此系列将会持续更新&#xff0c;包括别的语言以及实战都将使用对话的方式进行教学&#xff0c;基础编程语言教学适用于零基础小白&#xff0c;之后实战课程也将会逐步更新。 若…

服务器安装红帽系统进入不图形界面,CentOS 安装图形化界面方法

登录系统&#xff0c;使用yum 安装#yum groupinstall X Window System -y安装GNOME桌面环境#yum groupinstall GNOME Desktop Environment -y如果安装KDE桌面环境#yum groupinstall KDE (K Desktop Environment) -y如果发生错误&#xff1a;Warning: Group GNOME Desktop Env…

Mybatis批量更新数据

Mybatis批量更新数据 第一种方式 [html] view plaincopy print?<update id"updateBatch" parameterType"Map"> update aa set a#{fptm}, b#{csoftrain} where c in …

MASA Auth - SSO与Identity设计

AAAAAAAA即认证、授权、审计、账号&#xff08;Authentication、Authorization、Audit、Account&#xff09;。在安全领域我们绕不开的两个问题&#xff1a;授权过程可靠&#xff1a;让第三方程序能够访问所需资源又不泄露用户数据&#xff0c;常用的多方授权协议主要有 OAuth2…

Flutter之ConstrainedBox、SizedBox、UnconstrainedBox(尺寸限制类容器)

1 ConstrainedBox、SizedBox、UnconstrainedBox介绍 1)、ConstrainedBox用于对子组件添加额外的约束。例如&#xff0c;如果你想让子组件的最小高度是80像素 ConstrainedBox({Key key,required this.constraints,Widget child,}) 我们可以看到这里有个constraints final BoxC…

网页用数学公式编辑器 可以集成到FCKeditor

网页用数学公式编辑器 可以集成到FCKeditor 公司有个项目是针对学校的&#xff0c;老师希望能在网页里编辑数学公式&#xff0c;找了很多工具都不行&#xff0c;最后只能自己动手了。用了两天的时间弄出了这个东西&#xff0c;希望对大家有用。本程序可以单独使用&#xff0c;…

【无人机组装与调试】 第五章 无人机遥控器

【无人机组装与调试】系列课程全集: 第一章 概述 第二章 关于新西达30A电调说明书的问题 第三章 舵机安装与调整 第四章 F450四轴装机实例-选择机型、需要的器材工具材料 第五章 无人机遥控器 第六章 电调、电池、电机 一、遥控器的概念 遥控器是一种无线发射装置,通过现代的…

你真的会玩SQL吗?Case也疯狂

你真的会玩SQL吗&#xff1f;系列目录 你真的会玩SQL吗&#xff1f;之逻辑查询处理阶段 你真的会玩SQL吗&#xff1f;和平大使 内连接、外连接 你真的会玩SQL吗&#xff1f;三范式、数据完整性 你真的会玩SQL吗&#xff1f;查询指定节点及其所有父节点的方法 你真的会玩SQL吗&a…

构建iscsi网络存储服务

网络存储概述&#xff1a; 随着企业中数据信息的不断增长&#xff0c;尤其当成百上千TB的数据需要备份、恢复&#xff0c;以及面临着扩容、灾难恢复等需求时&#xff0c;DAS&#xff08;直接附加存储&#xff0c;就是通过与计算机主板的I/O接口&#xff0c;如IDE、SCSI相连接由…

10个python办公黑科技,助你办公效率提高100倍

1946年&#xff0c;世界上第一台通用计算机“ENIAC”在美国宾夕法尼亚大学诞生&#xff1b;“ENIAC”占地170平方米&#xff0c;重达30吨&#xff0c;耗电功率约150千瓦&#xff0c;每秒钟可进行5000次运算&#xff0c;这个庞然大物用于美国国防部进行弹道计算。 在当时&#…

Flutter之Container

1、Container介绍 我们先看它的构造方法 Container({Key key,this.alignment,this.padding, //容器内补白&#xff0c;属于decoration的装饰范围Color color, // 背景色Decoration decoration, // 背景装饰Decoration foregroundDecoration, //前景装饰double width,//容器的宽…

关于jQuery.query.js 取参数的一个小问题

形如&#xff1a;http://localhost:10864/srch.htm?keys&type1 这样的地址&#xff0c;如果我们要取keys的参数&#xff1a; var srchKey $.query.get("keys"); 那么得到的将是‘true’ &#xff0c;而不是空客串&#xff0c;这常常不是我们想要的 。 修正办法…

安卓模拟器获取服务器信息出错,安卓模拟器客户端与服务器不同步

安卓模拟器客户端与服务器不同步 内容精选换一换目前从本地或虚拟机通过DRS备份迁移功能直接迁移到本云RDS for SQL Server实例上&#xff0c;在迁移完成后还需要针对Login账号&#xff0c;DBLink&#xff0c;AgentJOB&#xff0c;关键配置进行识别&#xff0c;并手动完成相关同…

Blazor University (24)路由 —— 可选路由参数

原文链接&#xff1a;https://blazor-university.com/routing/optional-route-parameters/可选路由参数Blazor 不明确支持可选路由参数&#xff0c;但可以通过在组件上添加多个 page 声明轻松实现等效。例如&#xff0c;更改标准 Counter.razor 页面以添加额外的 URL。page &qu…

【无人机组装与调试】第六章 电调、电池、电机

【无人机组装与调试】系列课程全集: 第一章 概述 第二章 关于新西达30A电调说明书的问题 第三章 舵机安装与调整 第四章 F450四轴装机实例-选择机型、需要的器材工具材料 第五章 无人机遥控器 第六章 电调、电池、电机 一、电调 6.1.1 电调的概念 电调,全称电子调速器,英…

关于tomcat和sessionCookieName和SESSION_PARAMETER_NAME以及disableURLRewriting参数原理和使用...

关于tomcat和sessionCookieName和SESSION_PARAMETER_NAME以及disableURLRewriting参数 关于session和cookie参考&#xff1a; http://www.blogjava.net/freeman1984/archive/2011/09/02/357833.html http://www.blogjava.net/freeman1984/archive/2010/09/09/331501.html http:…