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,一经查实,立即删除!

相关文章

.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 在开…

面向对象类的使用(15)

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

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;…

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

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

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,//容器的宽…

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

安卓模拟器客户端与服务器不同步 内容精选换一换目前从本地或虚拟机通过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…

关于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:…

我让代码生了个孩子继承了他爸爸谁知他爸爸继承了他爷爷(16)

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

linux之lrzsz

1、lrzsz介绍 我们利用lrzsz进行windows和linux间的文件上传下载 2、安装 在ubuntu系统下 sudo apt-get install lrzsz 在centos系统下 yum install lrzsz 3、使用 1)、windows上传文件到linux环境,使用如下命令 rz

Android帧缓冲区(Frame Buffer)硬件抽象层(HAL)模块Gralloc的实现原理分析(2)...

函数load也是实现在文件hardware/libhardware/hardware.c文件中&#xff0c;如下所示&#xff1a; static int load(const char *id, const char *path, const struct hw_module_t **pHmi) { int status; void *handle; struct hw_module_t …

VS2019社区版(Community)试用30天过期的有效解决办法

VS2019社区版是免费的&#xff0c;前提是你得登陆自己的账户&#xff0c;如果一开始安装时没有登陆&#xff0c;那么就会只有30天有效期。此时&#xff0c;需要我们登陆微软账号&#xff0c;重新验证即可。 登陆微软账号&#xff0c;即可继续免费试用。

【万字长文】使用 LSM Tree 思想实现一个 KV 数据库

目录设计思路内存表WALSSTable 的结构SSTable 元素和索引的结构SSTable Tree内存中的 SSTable数据查找过程何为 LSM-Treee参考资料整体结构实现过程文件压缩测试插入测试加载测试查找测试SSTable 结构SSTable 文件结构SSTable Tree 结构和管理 SSTable 文件读取 SSTable 文件SS…

记录部件中GetFieldControlByFieldName(字段值样式设置)用法

度量快速开发平台中&#xff0c;记录部件上&#xff0c;不单是字段名称可以设置样式&#xff0c;要填入内容的方框也可以设置样式。通过获取记录部件上某一个字段的输入控件&#xff0c;在二次开发中不常用。该方法只有一个参数&#xff0c;即要获取对象的字段&#xff0c;需要…

C/C++/Linux工程师学习资料干货路线这都有,从入门到实战!【CSDN宝藏资料图鉴第二期】

若是大一学子或者是真心想学习刚入门的小伙伴可以私聊我&#xff0c;若你是真心学习可以送你书籍&#xff0c;指导你学习&#xff0c;给予你目标方向的学习路线&#xff0c;无套路&#xff0c;博客为证。 前言 CSDN 是全球知名的开发者社区&#xff0c;创建于1999年&#xff…

你要的来了:ArcGIS空间插值分析方法权威解读

插值问题的提出??? 一、趋势面 Trend is a global polynomial interpolation that fits a smooth surface defined by a mathematical function (a