首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何实现一个丝滑的点击水波效果

本文为Varlet组件库源码主题阅读系列第九篇,读完本篇,可以了解到如何使用一个div创建一个点击的水波效果。...Varlet组件库提供了一个使元素点击时生成水波扩散效果的指令: 点击 图片 接下来就从源码角度看看它是如何实现的...div元素,然后设置它的透明度为0、初始位置、缩放、大小、背景颜色,然后添加为被点击元素的子元素,最后在20ms以后修改div的位置、缩放、透明度,只要设置了它的transation过渡属性即可实现过渡效果...因为水波元素为被点击元素的子元素,所以这些坐标都是相对于被点击元素的左上角坐标计算的: 从绿色的圆过渡成红色的圆,透明度、大小、位置的变化就是水波的扩散效果。...setTimeout(task, 60) : task() } 先回顾一下创建水波的各个阶段的耗时,当我们第一次点击元素时,等待60ms后会创建水波元素,然后再等待20ms后会开始进行水波的扩散效果,动画耗时

60820

Flutter Button(按钮控件)

按下时都会有“水波动画”(又称“涟漪动画”,就是点击时按钮上会出现水波荡漾的动画)。...有一个onPressed属性来设置点击回调,当按钮按下时会执行该回调,如果不提供该回调则按钮会处于禁用状态,禁用状态不响应用户点击。 1、按钮点击示例 ?...2、按钮类型已经含义 不同的Button拥有不同的功能,正确使用对应的Button可以事半功倍。 Button 含义 MaterialButton 默认按钮,扁平,背景透明。按下后,会有背景色。...RaisedButton "漂浮"按钮,带有阴影和背景。按下后,阴影会变大。 FlatButton 扁平按钮,默认背景透明。按下后,会有背景色,与MaterialButton一致。...borderRadius: BorderRadius.circular(20.0)), onPressed: () {}, ) ---- 4、效果图

8K11
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【Flutter 专题】61 图解基本 Button 按钮小结 (一)

    / PopupMenuButton 继承自 IconButton;最终 RawMaterialButton 和 IconButton 都是由 ConstrainedBox 填充绘制; ?...IconButton 系列 IconButton 系列属于图标按钮,使用相对简单;其核心是 InkResponse 水波纹效果; IconButton 源码分析 const IconButton({...和尚首先尝试最基本的 IconButton;长按会由 tooltip 提醒,点击为默认主题色; IconButton(icon: Icon(Icons.android), tooltip: 'IconButton...设置的 green;同样若 icon 本身设置了颜色,disabledColor 不生效;注意:onPressed: null 与 onPressed: ()=> null 不同,前者代表无点击事件;后者代表有点击事件...,只是点击无操作; IconButton(icon: Icon(Icons.android), disabledColor: Colors.green, onPressed: null); icon

    1.5K21

    实现点击换一批来切换内容,flutter之CustomScrollView【flutter20个实例之八】

    一、老套路,先看样式 左图是我业务中的样式,右图是下方源码展示样式(复制可直接运行,无额外组件引入) 二、讲解 1.涉及组件 首先,没有一个单一组件来实现这个效果 实现这个效果涉及以下组件: AppBar...:顶端栏,一个最基本的软件 Text:文本 Container:布局组件 CustomScrollView:自定义滚动效果组件,比如列表和网格组件都可以包含在其中 SliverGrid:网格视图组件 SliverList...:列表控件 InkWell:效果控件,可以给其他widget包裹一个点击效果 ListTile:标题组件,通常填充listview 2.首先设置下标题样式 getItem是我们的主内容 @override...), //这个是顶部tab样式,如果不需要可以去掉 body: Container( child: getItem(), )); } 3.换一批点击效果...我们给换一批样式设置一个点击效果 当点击的时候,判断当前内容是否满足18条(一屏展示的数目) 如果不满足,说明最后一页了,重置页码为1 如果满足,说明当前数据>=18,后面可能还有数据,页码+1 然后请求数据

    1.4K20

    Flutte部件目录-基本部件(二) 顶

    final fit → BoxFit 如何将图像写入布局过程中分配的空间. [...]...final repeat → ImageRepeat 如何绘制图像未覆盖的布局边界的所有部分....使用新的TextSpan.rich构造函数,还可以使用TextSpan创建Text部件,以显示使用多种样式的文本(例如,带有粗体字的段落)。...使用IconData中描述的字体的字形绘制的图形图标部件,例如Icons中材质的预定义IconDatas。 图标不是互动的。 对于交互式图标,请考虑材质的IconButton。...如果您试图更改按钮的color并且没有任何效果,请检查您是否传递了非空onPressed处理函数。 如果您想为点击提供墨水飞溅效果,但不想使用按钮,请考虑直接使用InkWell。

    4.4K20

    《Flutter》-- 4.Flutter组件基础

    : 4.1.5 Scaffold Scaffold是具有Material布局风格的Widget,它被设计为MaterialApp的顶级容器组件,可以自动填充可用的屏幕空间,占据整个窗口或者设备屏幕。...4.3.2 按钮组件 Materail组件库中常见的按钮组件: RaisedButton:默认是带有阴影和灰色背景的按钮,按下后阴影会变大; FlatButton:默认是背景透明并不带阴影的按钮,按下后会有背景色...; OutlineButton:默认是一个带有边框、不带阴影且背景透明的按钮,按下后边框颜色会变亮,同时会出现背景和阴影效果; IconButton:一个可点击的图标按钮,不支持文字,默认没有背景,点击后会出现背景...; BoxFit.none:没有填充策略,按图片原始大小显示。...keyboardAppearance:设置键盘的亮度模式,只能在iOS上使用。 onTap:TextField组件的点击事件。

    12.5K30

    『Flutter』常用组件 按钮、图片

    主要的按钮组件包括: ElevatedButton:这是一个凸起的按钮,常用于主要的操作。它有默认的阴影和灰度效果,当按下时会有视觉反馈。...FlatButton(现在称为TextButton):这是一个无阴影的平面按钮,通常用于不太重要的操作。它在按下时不会改变外观,提供简洁的视觉效果。...InkWell:虽然不是一个标准的按钮组件,但它可以用来给几乎任何widget添加水波纹效果,从而制作自定义按钮。...fit (BoxFit): 如何处理图片的缩放和对齐。常用的值有 BoxFit.fill, BoxFit.contain, BoxFit.cover 等。...alignment (AlignmentGeometry): 图片在容器内的对齐方式。 repeat (ImageRepeat): 如果图片小于其容器,如何重复填充。

    56831

    解决方案——Zotero生成的参考文献和Word如何建立超链接,实现点击引用跳转的效果

    二、和Word建立超链接,实现点击引用跳转2.1、问题描述然而,尽管Zotero在文献管理和引用生成方面表现优秀,但与另一款流行的文献管理工具EndNote相比,它确实缺少一项比较常用的功能:无法与Word...直接建立超链接以实现点击引用跳转。...在EndNote中,用户可以轻松地在Word文档中插入引用,并且这些引用会自动生成超链接,只需点击文中的引用,即可迅速跳转到文档末尾的参考文献部分,查看相应的文献详细信息。...2.3、解决方案经过论坛内的寻找以及各大网站的类似方案分析,这里给出一个解决方案,首先切换到视图窗口,点击查看宏:在跳出的创建宏的编辑窗口中,输入以下代码:Public Sub ZoteroLinkCitation...然后,它创建一个有效的书签名,以便在参考文献列表中定位每个引用。对于每个引用,宏在Word文档中创建一个超链接,指向参考文献列表中相应的条目。这样,用户可以通过点击引用快速跳转到参考文献的详细信息。

    1.5K01

    Flutter Widget框架之旅 顶

    基本的部件 主要文章:部件集概述 - 布局模型 Flutter带有一套强大的基本小部件,其中以下是非常常用的: Text:Text小部件可让您在应用程序中创建一段样式文本。...例如,应用栏有一个阴影,标题文本会自动继承正确的样式。 我们还添加了一个浮动动作按钮,以便您采取措施。 请注意,我们再次将小部件作为参数传递给其他小部件。...您可以使用GestureDetector检测各种输入手势,包括点击,拖动和缩放。 许多小部件使用GestureDetector为其他小部件提供可选的回调。...StatefulWidgets是特殊的小部件,它知道如何生成状态对象,然后用它来保持状态。...当用户点击列表项时,小部件不会直接修改其inCart值。 相反,小部件会调用它从其父部件接收到的onCartChanged函数。

    6.7K20

    Flutter 系列之GetX的学习(2) --> 路由导航

    前言 在上篇文章我们介绍一下getx的概念, 以及如何使用Getx创建我们的Controller控制器,,并且在UI部分进行控制器的实例化,使用GetBuilder进行状态的展示和更新....基本导航操作 我们新建一个页面, 并使用stl快速搭建出来article下的index.dart的页面模板 在index.dart文件开始输入s t l , 就可以快速填充模板, 类似html文件的!...Article()) GestureDetector(onTap: () {Get.to(Article());}, child: _buildContainer("跳转文章页面")), 此时我们允许,并且点击...路由过渡动画 GetX 提供了丰富的页面过渡效果,允许你为每个页面设置不同的过渡动画。...Transition.zoom: 缩放效果 Transition.cupertino: 类似 iOS 的过渡效果 你还可以自定义页面过渡动画,满足不同的 UI 需求。

    23810

    Flutter简单介绍以及 Hello World解析

    中间的title widget被标记为Expanded, ,这意味着它会填充尚未被其他子项占用的的剩余可用空间。...例如,应用栏有一个阴影,标题文本会自动继承正确的样式。我们还添加了一个浮动操作按钮,以便进行相应的操作处理。 请注意,我们再次将widget作为参数传递给其他widget。...例如,IconButton、 RaisedButton、 和FloatingActionButton ,它们都有一个onPressed回调,它会在用户点击该widget时被触发。...StatefulWidgets是特殊的widget,它知道如何生成State对象,然后用它来保持状态。...尽管最终效果与前一个示例相同,但责任分离允许将复杂性逻辑封装在各个widget中,同时保持父项的简单性。 整合所有 让我们考虑一个更完整的例子,将上面介绍的概念汇集在一起​​。

    9910

    Flutter 组件集录 | 从图标按钮看组件封装

    这是我参与「掘金日新计划 · 10 月更文挑战」的第 4 天,点击查看活动详情 ---- 1. 封装的目的 虽然 Flutter 中提供的组件众多,但并非所有组件都是复杂的。...BackButton 组件 BackButton 组件继承自 StatelessWidget ,在 build 构建逻辑中使用 IconButton 组件触发点击事件,如果未提供 onPressed 参数...IconButton 组件 IconButton 是一个具有圆形水波纹点击效果的组件,必须传入一个子组件 icon 和回调函数 onPressed 。...但在小区域中,当长按时展示水波扩散的动画效果时,手指几乎占据了整个区域,所以整个动画效果呈现的收益并不明显。..., ---- 如下,是启用 Material3 的效果,感觉这种水波纹要比 Material2 的好看一些,对于 IconButton 而言,会根据图标颜色显示背景色,长按时也不再是扩散的水波纹,而是背景色的变化

    1.2K10
    领券