第二百五十二回

文章目录

  • 概念介绍
  • 实现方法
  • 示例代码

我们在上一章回中介绍了如何在页面中添加图片相关的内容,本章回中将介绍如何给组件添加阴影.闲话休提,让我们一起Talk Flutter吧。

在这里插入图片描述

概念介绍

我们在本章回中介绍的阴影类似影子,只是它不像影子那么明显,通常是在组件右下角显示一小部分,用来突出立体效果。在Flutter中我们可以使用BoxShadow组件来
实现阴影效果,不过我们通常会不单独使用使用它,而是和BoxDecoration组件一起配合使用,本章回中将介绍如何使用BoxShadow组件给其它组件添加阴影。

实现方法

在介绍添加阴影的方法前,我们先介绍一下BoxShadow组件的属性,通过这些属性可以控制阴影效果。

  • offset属性:主要用来控制阴影的偏移值,正值表示向下和向右偏移,负值向上和左偏移
  • color属性:主要用来控制阴影的颜色;
  • spreadRadius属性:主要用来控制阴影展开的大小,值越大阴影越大;
  • blurRadius属性:主要用来控制阴影模糊效果的大小,值越大越明显;
    上面是BoxShadow组件的常用属性,不过只掌握这些还不行,我们还需要把它绑定到个某个组件上,绑定方法如下:
  1. 创建Container组件对象;
  2. 创建BoxDecoration对象并且把它赋值给Container组件的decoration属性;
  3. 创建BoxShadow对象,并且把它赋值给BoxDecoration组件的boxShadow属性;
  4. 创建任意一个组件对象,并且把它赋值给Container组件的child属性;
    从上面的步骤中可以看到,我们通过Container组件的child和boxShadow属性把任意的组件和阴影组件(BoxShadow)绑定到了一起,这就相当于给组件添加了阴影。
    此外,oxShadow属性是List类型,可以存放多个对象,也就是说可以把多个阴影对象赋值给该属性,这样就可以实现是混合阴影的效果。

示例代码

介绍完给组件添加阴影的方法后,我们通过具体的代码来演示:

Container(width: 60,height: 60,child:Text("hello"),decoration: const BoxDecoration(shape: BoxShape.circle,color: Colors.green,///可以组合多个BoxShadow,实现混合颜色的效果boxShadow: [BoxShadow(///控制阴影的偏移值,正值向下和向右偏移,负值向上和左偏移offset: Offset(6, 6),///控制出阴影颜色color: Colors.red,///控制阴影展开的大小,值越大阴影越大spreadRadius: 1.0,///控制模糊的大小blurRadius: 8.0,),BoxShadow(offset: Offset(6, 6),color: Colors.black38,spreadRadius: 1.0,blurRadius: 8.0,)]),
);

在上面的代码中,我们给Text组件添加了阴影效果,因为使用了两个阴影对象,所以会产生混合阴影效果。我在这里就不演示程序的运行结果了,建议大家自己动手去实
践,修改一下颜色,也可以修改阴影的大小,真正体验一下阴影效果。
看官们,与"如何给组件添加阴影"相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!

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

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

相关文章

【unity】基于Obi的绳/杆蓝图、绳杆区别及其创建方法

绳索 是通过使用距离和弯曲约束将粒子连接起来而形成的。由于规则粒子没有方向(只有位置),因此无法模拟扭转效应(维基百科),绳子也无法保持其静止形状。然而,与杆不同的是,绳索可以被撕裂/劈开,并且可以在运行时改变其…

前端学习笔记 3:Vue 工程

前端学习笔记 3:Vue 工程 上一篇文章介绍了如何在单一 Html 页面中使用 Vue,本文介绍如何从头开始用 Vue 构建一个前端工程项目。 1.环境准备 Vue 框架代码的创建依赖于 Node.js,因此需要先安装 Node.js。 2.创建和启动 2.1.创建 通过以…

ARMv8-AArch64 的异常处理模型详解之异常等级、执行状态以及安全状态

ARMv8-AArch64 的异常处理模型详解 一,特权和异常等级1.1 异常等级 Exception levels 二,特权的类型2.1 内存特权2.2 访问寄存器的特权 三,执行状态和安全状态3.1 执行状态 Execution states3.2 执行状态切换 3.3 安全状态 Security states3.…

C#,深度优先搜索(DFS)、广度优先搜索(BFS)算法的源代码与数据可视化

概述 下载源代码: 链接:https://pan.baidu.com/s/1sLxMT78LVg2dWyXXFvM--w?pwd2kwl 提取码:2kwl --来自百度网盘超级会员V5的分享https://pan.baidu.com/s/1sLxMT78LVg2dWyXXFvM--w?pwd2kwl 深度优先搜索(亦称深度优先遍历&a…

c++ / day06

1. 利用模板类完成顺序表(两天时间&#xff0c;今天至少写出大致框架) 代码 //implement template in sqlist #include <iostream> #include <cstring>#define MAXSIZE 100using namespace std;template <typename T> class Sqlist {unsigned int len 0;T…

HTTP打怪升级之路

新手村 上个世纪80年代末&#xff0c;有一天&#xff0c;Tim Berners-Lee正在工作&#xff0c;他需要与另一台计算机上的同事共享一个文件。他尝试使用电子邮件&#xff0c;但发现电子邮件不能发送二进制文件。Tim Berners-Lee意识到&#xff0c;他需要一种新的协议来共享二进制…

【Python排序算法系列】—— 希尔排序

&#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 &#x1f4ab;个人格言:"没有罗马,那就自己创造罗马~" 目录 希尔排序 &#xff08;ShellSort&#xff09; 由来和特点 理解 过程演示 Step1&#xff1a;…

【C++】- 类和对象(构造函数!析构函数!拷贝构造函数!详解)

类和对象② 类的6个默认成员函数构造函数析构函数拷贝构造函数 类的6个默认成员函数 上一篇详细介绍了类。如果一个类中什么成员都没有&#xff0c;简称为空类。 那么空类中真的什么都没有吗&#xff1f; 并不是&#xff0c;当类在什么都不写时&#xff0c;编译器会自动生成…

MySQL之视图外连接、内连接和子查询的使用

目录 一、视图 1.1 含义 1.2 操作 1.3 SQL数据 二、连接查询案例 &#xff08;1&#xff09;查询" 01 "课程比" 02 "课程成绩高的学生的信息及课程分数 &#xff08;2&#xff09;查询同时存在" 01 "课程和" 02 "课程的情况 &a…

视频剪辑技巧:添加srt字幕,提升视频品质的方法

在视频制作和剪辑过程中&#xff0c;字幕的添加是一项常见的技巧。通过添加srt字幕&#xff0c;可以提升视频的品质和观感&#xff0c;让观众更好地理解视频内容。下面一起来看云炫AI智剪如何批量添加srt字幕的方法&#xff0c;如何通过这些技巧提升视频品质。 原视频画面与添…

一键了解获取网页requests方式

目录 一、爬虫原理&#xff1a; 二、安装&#xff1a; 测试&#xff1a; 三、文件的操作 方式一 方式二: 方式三 四、认识User-Agent 4.1、为什么用User-Agent&#xff1a; 步骤&#xff1a; 五、请求方式 5.1、get 5.2、post 六、爬出有中国关键字页面案例 一、爬…

李沐-《动手学深度学习-02-目标检测

一 、目标检测算法 1. R-CNN a . 算法步骤 使用启发式搜索算法来选择锚框&#xff08;选出多个锚框大小可能不一&#xff0c;需要使用Rol pooling&#xff09;使用预训练好的模型&#xff08;去掉分类层&#xff09;对每个锚框进行特征抽取&#xff08;如VGG,AlexNet…)训练…