第一百七十三回 如何创建线性渐变背景

文章目录

  • 1. 概念介绍
  • 2. 实现方法
  • 3. 代码与效果
    • 3.1 示例代码
    • 3.2 运行效果
  • 4. 内容总结

我们在上一章回中介绍了"SegmentedButton组件"相关的内容,本章回中将介绍" 如何创建线性渐变背景"。闲话休提,让我们一起Talk Flutter吧。

1. 概念介绍

我们在本章回中介绍的线性渐变背景是指整个页面或者部分页面为渐变色,渐变色呈水平线性排列。这么介绍可能比较抽象,大家可以先观看后面小节中的程序运行效果图,从图中可以直观地看到线性渐变背景真实的效果。本章回中将详细介绍如何创建线性渐变背景。

2. 实现方法

创建渐变色需要使用BoxDecoration组件,该组件的gradient属性主要用来控制渐变效果,我们只需要把渐变色赋值给gradient属性就可以。

如何创建渐变色呢?这时需要使用LinearGradient组件,该组件提供了相关的属性来控制渐变色的效果。下面是该组件中常用的属性:

  • colors属性:该属性用来存放渐变效果中使用的颜色,它可存放多个颜色;
  • begin属性:该属性用来控制渐变色的起点;
  • end属性:该属性用来控制渐变色的终点;
  • tileMode:该用来用来控制渐变方式;

上面介绍的这些属性中,第一个属性是必选属性,其它属性都是可选属性。这些属性主要有来控制渐变的方式,进而实现不同的渐变效果。

渐变色创建后还需要把它放到背景中,我们使用Container组件来存当背景,该组件提供了decoration属性来控制背景效果,把刚才创建的背景色赋值给该属性就可以。

至此,带有线性渐变色的背景就创建好了。稍后,我们将通过示例代码来演示具体的实现方法。

3. 代码与效果

3.1 示例代码

///线性渐变
Container(
  width: double.infinity,
  height: 100,
  decoration: const BoxDecoration(
    gradient: LinearGradient(
      colors: [Colors.greenAccent,Colors.redAccent,Colors.amberAccent]
    )
  ),
  child:const SizedBox.shrink(),
),
const Spacer(),
Container(
  width: double.infinity,
  height: 100,
  decoration: const BoxDecoration(
    gradient: LinearGradient(
      ///调整开始和结的位置
      begin: Alignment.topLeft,
      end: Alignment.center,
      tileMode: TileMode.repeated,
      colors: [Colors.greenAccent,Colors.redAccent,Colors.amberAccent]
    )
  ),
  child:const SizedBox.shrink(),
),

上面的示例代码中添加了相关的注释,这样方便大家理解代码。

示例代码创建了两个渐变色背景,一个是默认的线性渐变色背景,另外一个是修改了渐变方式的渐变色背景。此外,背景的大小可以通过Container组件的width和height属性来控制。

3.2 运行效果

编译并且运行上面的示例代码可以得到下面的运行效果图。

在这里插入图片描述

图中上方的图形是默认的渐变色背景效果,下方的图形是修改了渐变方式的渐变色背景效果。强烈建议大家自己动手去实践,通过修改LinearGradient组件的属性可以创建出不同的渐变效果。

4. 内容总结

最后,我们本章回的内容做一个全面的总结:

  • 创建渐变色需要使用BoxDecoration组件和LinearGradient组件;
  • LinearGradient组件提供了多种属性来控制渐变效果;
  • 使用Container组件可以充当渐变色的背景;
  • 把渐变色和背景组合在一下就形成了渐变色背景;

看官们,与"如何创建线性渐变背景"相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

医学图像 开源数据整理合集1

本文为医学图像 开源数据整理合集,为科研数据提供方便和检索。 目录 1 NIH database of 100000 Chest X-rays 2 The Cancer Imaging Archive (TCIA) 3 National Institute for Mental Healths (NIMHs) OpenNeuro.org 4 RSNAs Quantitative Imaging Data Wareh…

Git目录不对,即当前文件夹不对应git仓库

报错信息是: fatal: not a git repository (or any of the parent directories): .git 如: 是当前文件夹不对应git仓库,一般在git clone之后,需要进入下一级文件夹才对应仓库。 在文件夹看,本层中没有.git文件夹&…

动画短片怎么制作gif?一个方法简单又好用

网络上常常能看到动画短片,虽然时长短但是内容很丰富。当我们想要将这种动画短片做成gif格式图片的时候,应该怎么办呢?很简单,通过使用在线制作动画(https://www.gif.cn/)网站,无需下载软件上传…

Django模版层

解析: forloop内置对象:运行结果解析 counter0: 从0开始计数 counter : 从1开始计数 first: True,判断循环的开始 last : Tues,判断循环的结束模版变量的书写 我们可以在html中编写python代码。 演示: {{ 填写变量 }}{% 填写类的 %}{{ d.0 }} {{ d.1 }…

全年无休、随时更新, RPA在执行工作中的智能化创新

为深化政法智能化建设,加强“智慧治理”“智慧法院”“智慧检务”“智慧警务”“智慧司法”等信息平台建设,深入实施大数据战略,实现科技创新成果同政法工作深度融合。法制日报社于今年3月继续举办了2023政法智能化建设创新案例及论文征集宣传…

计算机视觉基础(8)——齐次坐标系与相机内外参

前言 本节我们将学习到透视投影、齐次坐标系等基础知识,在这些基础知识上,进一步了解到相机的参数,相机参数分为相机外参和相机内参,相机外参是从世界坐标系到相机坐标系,相机内参是从相机坐标系到图像坐标系。 一、透…

今年副业比主业赚得多...

我是从20年开始接触副业的,主要是在程序员外包平台上接单。从一开始的月入0到几百,到现在每个月稳定有小一万的收入。这个月接了一个比较大的项目,结款之后发现今年的副业已经比主业赚得多了,简直美滋滋~ 今年主业收入8w&#xff…

Qt QWebSocket实现JS调用C++

目录 前言1、QWebChannel如何与网页通信2、QWebSocketQWebChannel与网页通信2.1 WebSocketTransport2.2 WebSocketClientWrapper2.3 初始化WebSocket服务器2.4 前端网页代码修改 总结 前言 本篇主要介绍实现JS调用C的另一种方式,即QWebSocketQWebChannel。与之前的…

C#开发的OpenRA游戏之世界存在的属性RenderDebugState(5)

C#开发的OpenRA游戏之世界存在的属性RenderDebugState(5) 前面分析过一个调试的属性,在这里分析另外一个属性,这个属性就是RenderDebugState,它就是用来显示渲染的信息。 跟前面的分析规则可知,属性都是有一个信息类和操作类组成。 在这里信息类叫RenderDebugStateInfo…

Spring6(一):入门案例

文章目录 1. 概述1.1 Spring简介1.2 Spring 的狭义和广义1.3 Spring Framework特点1.4 Spring模块组成 2 入门2.1 构建模块2.2 程序开发2.2.1 引入依赖2.2.2 创建java类2.2.3 创建配置文件2.2.4 创建测试类测试 2.3 程序分析2.4 启用Log4j2日志框架2.4.1 引入Log4j2依赖2.4.2 加…

win10配置单一python版本的sublime运行环境

①新建test.py输入下面代码 import sys print ("Python Version {}".format(str(sys.version).replace(\n, ))) ②Ctrlshiftp选择python ③按下CtrlB

AC修炼计划(AtCoder Regular Contest 162)

传送门:AtCoder Regular Contest 162 - AtCoder A题签到 B - Insertion Sort 2 我们可以从头开始一个一个排序,把1通过操作放到第一个,把2通过操作放到第二个。。。以此类推。但会出现一种情况,如果我们所要排的数字在最后一位&…

面试经典(6/150)轮转数组

面试经典(6/150)轮转数组 给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。 以下为自己的思路,我不明白最终的返回值为什么有误,好像是题目里要求原地解决问题,而我创…

基于鸽群算法优化概率神经网络PNN的分类预测 - 附代码

基于鸽群算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于鸽群算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于鸽群优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要:针对PNN神经网络的光滑…

电子电机行业万界星空科技MES解决方案

现在电子电机行业规模越来越大,也伴随着生产和管理成本走向变高的现象。针对这个问题,mes系统就成为各电子电机制造业的最优选择。 电子机电行业MES涵盖了从原材料采购到最终产品交付的整个过程,包括生产计划、物料管理、生产过程监控、质量…

数字化档案管理系统解决方案

数字化档案管理系统解决方案是指将传统的纸质档案转化为数字化档案,采用计算机和网络技术实现对档案的存储、检索、管理、共享等操作的过程。 专久智能数字化档案管理解决方案及措施可以包括以下几个方面: 1. 采用数字化技术对档案进行数字化处理&#x…

kubernetes--资源调度

目录 一、自动调度 1. Pod 启动创建过程: 2. 调度过程: 2.1 调度分为几个部分: 2.2 常见的预算策略( Predicate ): 2.3 常见的优选策略(priorities): 二、定向调度&…

性能小课堂:Jmeter录制手机app脚本!

环境准备:1.手机2.wifi3.Jmeter 具体步骤: 1、启动Jmeter; 2、“测试计划”中添加“线程组”; 3、“工作台”中添加“HTTP代理服务器”; 4、配置代理服务器:Global Settings下面的端口配置&#xff1a…

Redis 配置文件信息中文翻译版

前言 Redis 配置文件信息中文翻译版,方便大家阅读和理解对应参数信息及配置参数信息 # Redis configuration file example# Note on units: when memory size is needed, it is possible to specify # it in the usual form of 1k 5GB 4M and so forth: # 注意:当…

探索游戏公司跨部门合作的项目管理工具选择

为了实现出色的用户体验,游戏公司需要强大的研发能力和发行运营经验。通常情况下,游戏公司内部有多个独立工作的研发部门和发行部门,它们需要跨部门协作。随着公司快速发展和游戏项目增加,游戏公司迫切需要一套适用于特殊协作流程…