第三百六十三回

文章目录

  • 1. 概念介绍
  • 2. 实现方法
    • 2.1 环绕效果
    • 2.2 立体效果
  • 3. 示例代码
  • 4. 内容总结

我们在上一章回中介绍了"自定义SlideImageSwitch组件"相关的内容,本章回中将介绍两种阴影效果.闲话休提,让我们一起Talk Flutter吧。

在这里插入图片描述

1. 概念介绍

我们在本章回中将介绍如何实现两种阴影效果,一种是环绕在组件周围的阴影效果,呈发散形状,该效果可以让组件有种发光的效果,类似灯或者太阳;另外一种是只出现
在组件下方的阴影效果,该效果可以让组件呈现出立体的效果。具体的效果可以参考下面的示例图片,图片中黄色区域就是阴影:

2. 实现方法

总体来讲阴影效果都是通过组件实现的,只是不同的阴影效果使用不同的组件,针对这两种阴影效果,我们分别介绍它们的实现方法。

2.1 环绕效果

环绕阴影效果通过Container组件实现,该组件配合BoxDecoration组件可以在其它组件周围添加阴影,Container组件主要负责把组件和阴影组合在一起,通过它
的decoration属性和child属性实现组合功能。真正负责阴影效果的是BoxDecoration组件,它通过boxShadow属性可以组合多个BoxShadow阴影组件,
在BoxShadow组件中可以使用它的属性控制阴影的颜色,范围和位置。

  • color属性:主要用来控制阴影的颜色;
  • offset属性:主要用来控制阴影的范围;
  • blurRadius属性:主要用来控制阴影的范围;

2.2 立体效果

立体阴影效果通过Card组件实现,该组件通过自己的属性既可以把阴影效果和其它组件组合在一起,又可以直接控制阴影的效果,下面是相关的属性:

  • child属性:主要用来把阴影效果和组件组合在一起;
  • shadowColor属性:主要用来控制阴影的颜色;
  • elevation属性:主要用来控制阴影的大小;

3. 示例代码

///演示两种阴影效果:BoxDecoration控制的效果在周围,呈发散形状。对应180的内容
Row(mainAxisAlignment: MainAxisAlignment.spaceAround,children: [///正常的阴影,阴影效果在组件周围四个方向Container(width: 100,height: 100,decoration: const BoxDecoration(color: Colors.blue,boxShadow:[ BoxShadow(color: Colors.yellow,blurRadius: 24.0,),],),),///在正常的阴影的基础通过offset控制阴影的位置Container(width: 100,height: 100,decoration: const BoxDecoration(color: Colors.blue,boxShadow:[ BoxShadow(color: Colors.yellow,///控制阴影的位置offset: Offset(0, 10),///控制阴影的大小blurRadius: 24.0,),],),),///card的阴影效果只在下方位置,有立体效果,无法控制阴影的位置const Card(color: Colors.blue,shadowColor: Colors.yellow,///控制阴影的大小elevation: 24,child: SizedBox(width: 100,height: 100,),),],
),

上面的示例代码演示了如何实现两种阴影效果,它与上一小节中的实现方法保持一致。在演示环绕阴影效果时一个示例保持默认的位置,另外一个示例调整的阴影的位置,
不过调整后阴影效果仍然出现在组件周围,而不会单独出现在某一个边上。此外,我推荐大家自己动手去实践,通过调整阴影的颜色,位置等内容来体会一下阴影效果。

4. 内容总结

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

  • 本章回主要介绍了环绕和立体两种阴影效果;
  • 环绕阴影效果主要通过Container组件实现;
  • 立体阴影效果主要通过Card组件实现;
  • 可以调整阴影效果的颜色,范围和位置;
    看官们,与"两种阴影效果"相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!

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

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

相关文章

Python作图

图效果 import numpy as np import matplotlib.pyplot as plt# 定义函数 def sigmoid(x):return 1 / (1 np.exp(-x))def tanh(x):return np.tanh(x)def relu(x):return np.maximum(0, x)def leaky_relu(x, alpha0.01):return np.where(x > 0, x, alpha*x)# 生成数据 x np…

Android Jetpack Compose 沉浸式状态栏的实现

目录 概述效果展示代码实现总结 概述 说到沉浸式状态栏,很多小伙伴可能不太熟悉,其实让Android的状态栏的颜色和APP的主题颜色相同,给人感觉状态栏和APP就是一体的。沉浸式的状态栏让页面看起来更舒服,实现沉浸式状态栏也很简单&…

Zookeeper未授权访问漏洞

Zookeeper漏洞介绍 Zookeeper支持某些特定的四字查询命令,可以未授权访问,从而泄露zookeeper服务的相关信息,这些信息可能作为进一步入侵其他系统和服务的跳板,利用这些信息实现权限提升并逐渐扩大攻击范围。 常见的四字命令有 e…

MyBatisPlus条件构造器和常用接口

前置配置文章 一、wapper介绍 wrapper的继承体系: Wrapper : 条件构造抽象类,最顶端父类 AbstractWrapper : 用于查询条件封装,生成 sql 的 where 条件 QueryWrapper : 查询条件封装UpdateWrapper &#x…

【Pytorch深度学习开发实践学习】B站刘二大人课程笔记整理lecture06 Logistic回归

【Pytorch深度学习开发实践学习】B站刘二大人课程笔记整理lecture06 Logistic回归 课程网址 Pytorch深度学习实践 部分课件内容: import torchx_data torch.tensor([[1.0],[2.0],[3.0]]) y_data torch.tensor([[0.0],[0.0],[1.0]])class LogisticRegressionModel(…

2.22 Qt day3 多界面跳转+qss登录界面优化+发布软件+对话框

思维导图: 完善对话框,点击登录对话框,如果账号和密码匹配,则弹出信息对话框,给出提示”登录成功“,提供一个Ok按钮,用户点击Ok后,关闭登录界面,跳转到其他界面 如果账号…

Linux系统运维:离线安装sar-性能监视和分析工具

目 录 一、前言 二、系统环境 三、安装sar (一)准备工作 1、下载 sar 工具的安装包: 2、将安装包传输到 CentOS 服务器 (二)安装工作 1、解压 2、配置安装 3、编译 4、安装 (三&#xff0…

产品渲染3D效果图一张多少钱,哪个平台更有性价比?

产品渲染3D效果图的价格受到多方面因素的影响,包括但不限于产品类型、渲染难度以及输出尺寸等。如果效果图需要后期处理,还有可能增加其他费用。接下来,我们来了解一下产品渲染效果图的费用情况。 1.产品渲染3D效果图一张多少钱? …

邮件群发助力展会行业邀请函

在数字化时代,邮件群发邀请函成为展会行业获取参展商和观众的一项强有力的工具。通过巧妙的邮件营销策略,展会主办方能够在竞争激烈的市场中脱颖而出,吸引更多目标受众。U-Mail邮件群发将深入探讨邮件在展会行业的优势,并分享一些…

TDesign Vue Next Starter中后台项目的生产环境部署与CSP内容安全策略、CORS跨源资源共享和服务后端开发

TDesign Vue Next Starter中后台项目的生产环境部署与CSP内容安全策略、CORS跨源资源共享和服务后端开发 目录 TDesign Vue Next Starter中后台项目的生产环境部署与CSP内容安全策略、CORS跨源资源共享和服务后端开发 一、TDesign Vue Next Starter中后台项目模板 1.1、项目…

ChatGPT在数据处理中的应用

ChatGPT在数据处理中的应用 今天的这篇文章,让我不断体会AI的强大,愿人类社会在AI的助力下走向更加灿烂辉煌的明天。 扫描下面二维码注册 ​ 数据处理是贯穿整个数据分析过程的关键步骤,主要是对数据进行各种操作,以达到最终的…

Linux第62步_备份移植好的所有的文件和文件夹

1、备份“my-tfa”目录下所有的文件和文件夹 1)、打开终端 输入“ls回车”,列出当前目录下所有的文件和文件夹 输入“cd linux回车”,切换“linux”目录下 输入“ls回车”,列出当前目录下所有的文件和文件夹 输入“cd atk-mp1/回车”&am…

PCIe P2P DMA全景解读

温馨提醒:本文主要分为5个部分,总计4842字,需要时间较长,建议先收藏! P2P DMA简介 P2P DMA软硬件支持 CXL P2P DMA原理差异 P2P DMA应用场景 P2P DMA技术挑战 一、P2P DMA简介 P2P DMA(Peer-to-Peer…

发现了一个超赞的办公利器!ONLYOFFICE 文档 8.0 强势登场!

迎接 ONLYOFFICE 文档 v8.0发布后的全新升级!现在,适用于 Linux、Windows 和 macOS 的免费 ONLYOFFICE 桌面应用程序更加强大!全新的 RTL 界面、本地界面主题、与 Moodle 的集成等实用功能,让你的办公体验更加出色!全新…

Flink中的双流Join

1. Flink中双流Join介绍 Flink版本Join支持类型Join API1.4innerTable/SQL1.5inner,left,right,fullTable/SQL1.6inner,left,right,fullTable/SQL/DataStream Join大体分为两种:Window Join 和 Interval Join 两种。 Window Join又可以根据Window的类型细分为3种…

alist修改密码(docker版)

rootarmbian:~# docker exec -it [docker名称] ./alist admin set abcd123456 INFO[2024-02-20 11:06:29] reading config file: data/config.json INFO[2024-02-20 11:06:29] load config from env with prefix: ALIST_ INFO[2024-02-20 11:06:29] init logrus..…

Redis篇之缓存雪崩、击穿、穿透详解

学习材料:https://xiaolincoding.com/redis/cluster/cache_problem.html 缓存雪崩 什么是缓存雪崩 在面对业务量较大的查询场景时,会把数据库中的数据缓存至redis中,避免大量的读写请求同时访问mysql客户端导致系统崩溃。这种情况下&#x…

链表之“无头单向非循环链表”

目录 ​编辑 1.顺序表的问题及思考 2.链表 2.1链表的概念及结构 2.2无头单向非循环链表的实现 1.创建结构体 2.单链表打印 3.动态申请一个节点 3.单链表尾插 4.单链表头插 5.单链表尾删 6.单链表头删 7.单链表查找 8.单链表在pos位置之前插入x 9.单链表删除pos位…

85、字符串操作的优化

上一节介绍了在模型的推理优化过程中,动态内存申请会带来额外的性能损失。 Python 语言在性能上之所以没有c++高效,有一部分原因就在于Python语言将内存的动态管理过程给封装起来了,我们作为 Python 语言的使用者是看不到这个过程的。 这一点有点类似于 c++ 标准库中的一些…

探索Promise异步模式抽象的变体——Promise.race篇

如果阅读有疑问的话,欢迎评论或私信!! 本人会很热心的阐述自己的想法!谢谢!!! 文章目录 前言初识Promise.race探索Promise.raceAPI实例 前言 在本栏前一篇Promise.all中,我们可以实…