水波纹效果从Android5.0就已经出来了,基本的使用相信大家都知道了,这里多谈一些相对深层次的使用:
注意看addEventListener方法的第三个参数中都设置了passive = true,这个选项用来告诉浏览器我们的处理函数中不会调用preventDefault方法,这么做有什么好处呢?比如touch事件或scroll事件的默认行为都会触发页面的滚动,如果调用了preventDefault方法,那么就会阻止滚动,但问题是浏览器并不知道我们有没有在事件处理函数中调这个方法,那么就必须等待函数执行完毕才知道,有时候函数的执行是比较耗时的,这样就会导致页面卡顿,所以如果我们的处理函数中明确不会调用preventDefault方法,那么就通过passive标志直接告诉浏览器,这样浏览器就不会等待,直接进行滚动,可以显著提升页面性能和体验。
一、理论依据 水波的物理学模型便是理论依据。水波有如下特性: 扩散:水波总是从被扰动的中心向外扩散。在水波扩散过程中每个点都在得到能量后以自己为中心震动,并向四周传播能量。之所以从干扰点向外扩散,是因为内部的各点能量互相抵消而看不到震荡。重要的是,每个点都在以自己为中心进行震荡,并向四周扩散能量。 衰减:水波在传播过程中能量会逐渐的衰减,因为水的震荡是有阻尼的。 折射:由于水波表面各处有不同程度的倾斜,由于折射,将会看到水底景物的不同程度的偏移,看起来是变形的。观察点正下方的景物由于折射偏移,开起来并不在正
水波扩散是一个比较好看的交互效果,特别是在某些以水为故事发生场景的游戏中,扩散的水波会让场景更加栩栩如生
点击反馈 不知道小伙伴们有没有注意过这样一个细节,有的应用按钮,链接,可交互的卡片点击起来十分有感觉,而有的却像是点在白纸上了一样,是什么造成了他们使用户有如此明显的感受区分呢?.... 1.jpg
和尚想自定义一个水波纹按钮,即默认向外扩散的水波样式;实现方式有很多种,和尚尝试最基本的 AnimationController 逐层绘制来处理,和尚简单记录一下尝试过程;
但是这样在5.0以下的系统,这样就没有效果,按钮会变成默认的灰色状态,点击按钮也不会有颜色的状态区别 为了兼容5.0以下的设备,我们可以利用seletor(勘误:button用theme在5.0以下也是有按压变色的,虽然没有水波纹,下面的方法仍然适用其他控件的适配)
我们需要在xml中使用自定义属性来控制初始值,如内圆半径,扩散颜色,内圆颜色等
5.0引入了很多动画效果,是谷歌提供的自带的效果,其中触摸反馈就是一种,简而言之就是点击水波纹效果,Button就默认带有水波纹效果
几年前就一直考虑过写这个控件了,在9年前用C#的时候,就看到过别人用C#写了个水波效果的控件,挺好玩的,当时看了下代码用的二维数组来存储变换的图像像素数据,自从学了Qt以后,有过几次想要用Qt写一个版本,当时功力尚浅,尝试过了没写成功,我记得还有个用汇编写的dll提供调用,那个效率贼高,用CPU绘制的话效率相对来说低很多。前阵子一个好友-离心泵(QQ:33522)恰巧写了个,我在他的基础上改进了一些功能,增加了一些接口设置,比如提供参数可以控制水波的消失速度,扩散的速度,水波的面积大小以及水波的深度等。
在 Android 5.0 以后,随着 Material Design 的提出,Android UI 设计语言可谓是提升了一大步,但是在国内其实并没有得到很大的推广应用。
揭露效果也是5.0谷歌引入的一种效果,可以以一个水波纹扩散的形式显示控件,使用也很简单
原创声明 📷 前言 前一段时间在网上闲逛看一些交互案例,偶然的看到几篇关于反馈式交互设计的文章,其中强调了反馈式设计的分类、重要性和机制,让我觉得在目前所负责的项目中这一点做的还不够好,因此萌生了一些尝试优化的想法和兴趣。 理论知识聊起来有点多,一开始就先不长篇大论了,先来见一下我们今天的主角。这是我负责的项目中最终优化形成的效果,实现过程中也并不是那么顺利,遇到一些兼容性问题的坑。 📷 看完效果,先来让我们先来大致了解一下概念。 一、何为反馈交互? 反馈交互意味着通过合适的反馈,以及和程序之间的交互,让用
本文实例为大家分享了Android 5.0 实现水波扩散效果的具体代码,供大家参考,具体内容如下
RippleDrawable是Android在5.0之后新增的图形类,它的作用是在点击时展示水波动画,从而提示用户在这里按压了屏幕。这个提示效果类似于状态图形StateListDrawable,区别在于,StateListDrawable使用一张静止图片表示按下状态,而RippleDrawable使用荡起涟漪的水波动画表示按压动作。 水波图形的用法很简单,先在xml文件中定义水波图形的规格,然后把视图的android:background属性设置为该图形,然后点击视图就会产生动画效果了。具体的水波样式主要有三种,说明如下: 1、没有边界限制的水波,这意味着允许水波动画充满整个视图,xml定义如下:
持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第 4 天,点击查看活动详情
最近需要做个类似于水波纹动画的效果,思考了一下不需要UI切个动态图,Android原生的技术利用动画或者自定义控件都可以实现,下面上个图类似于这样的效果
最近一个做视频滤镜的朋友,让我给他做一个动态水波纹效果,具体就是:点击屏幕上的某一位置,然后波纹以该位置为中心向周围扩散。
本文介绍的是Android5.0中其中一个炫酷的效果,点击水波纹扩散效果(Ripple Effect).
我们在使用Button时,默认点击会带有一个水波纹扩散的效果,如果我们想要使用自己的颜色,那怎么办呢,今天就来介绍二种实现自定义颜色水波纹的方法 方法一:使用drawable 在drawable-v2
Floating Action Button,简称FAB,作为材料设计中(众多)独特的UI元素之一,用于特定场景中基本或有推动等作用的行为中。因为在指定屏幕中,会被频繁的访问(译者注:如点击,触摸等),所以,我认为正确处理FAB的每一个细节是件很重要的事情。然而,有很多应用,并没有以材料设计指导为规范,从而错误的使用着FAB,当然,这也包括一些谷歌的自家应用(我就知道!)。
思路分析:通过canvas画圆,每次改变圆半径和透明度,当半径达到一定程度,再次从中心开始绘圆,达到不同层级的效果,通过不断绘制达到view扩散效果
1.首先要有一个圆2.这个圆会边扩散边消失3.当这个圆扩散到一定程度的时候再绘制一个圆4.有限循环 / 无限循环5.可以有 / 无 Child
So,你可以如下compile该library了,也可以把这个类CircularAnim拷贝到项目里去。
本文实例为大家分享了Android实现水波纹扩散效果的具体代码,供大家参考,具体内容如下
在\themes\butterfly\source\js目录下创建一个ripples.js文件,并将如下代码写入该文件
微信曾经推出了一个查找附近好友的功能,大致功能是这样的:屏幕上有一个按钮,长按按钮的时候,会有一圈圈水波纹的动画向外扩散,松手后,动画结束。
本文讲述了Android实现水波纹扩散效果的实例代码。分享给大家供大家参考,具体如下:
当你仰望星空时,你可能回想到这些科学知识:“我们现在看到的星光也许是几十万年前发出来的,只是现在才传过来而已。”“月亮不会发光,它反射了太阳的光。”可是光是什么?它为什么是这个样子的?
尽管克里斯蒂安·惠更斯(Christiaan Huygens)认为光是一种波,但艾萨克·牛顿(Isaac Newton)却不这么认为。牛顿认为,对于颜色以及当时可观察到的干涉和衍射效应,还有其他解释,他的观点普遍占上风。惠更斯原理起作用的事实并不被认为是足以证明光是一种波的直接证据。许多年后,英国物理学家和医生托马斯·杨(Thomas Young,1773-1829 年)进行了他现在经典的双缝实验(见图 1),人们接受了光的波动特性。
本文实例为大家分享了Android自定义View的实现水波纹,供大家参考,具体内容如下
水波纹效果已经不是什么稀罕的东西了,用过5.0新控件的小伙伴都知道这个效果,可是如果使用一个TextView或者Button或者其它普通控件的话,你是否知道如何给它设置水波纹效果呢?OK,我们今天就来看看这个水波纹效果的实现。水波纹效果的实现有系统自带属性可以实现,我们也可以自定义实现效果。
伴随着OpenAI在11月7日开发者大会当天除了chatGPTs全家桶外,OpenAI开源了全新解码器,依赖LCM技术,开源了全新的VAE,随之而来的LCM这个名词也火了起来,但是说好的提升怎么变成5倍了?
在flutter 开发中用InkWell或者GestureDetector将某个组件包起来,已添加点击事件。
水波纹效果大致上可以分为两类,一类是有界水波纹,而另一类是无界水波纹,较为广泛使用的是有界水波纹。
伴随着OpenAI在11月7日开发者大会当天除了chatGPTs全家桶外,OpenAI开源了全新解码器,依赖LCM技术,开源了全新的VAE,随之而来的LCM这个名词也火了起来,但是说好的提升怎么变成5倍了?文末领取插件地址!!!
本文是笔者之前文章用css3实现惊艳面试官的背景即背景动画(高级附源码)的续篇也是介绍css3技巧的文章,因为css这块知识难点不是很多,更多的在于去熟悉css3的新特性和基础理论知识。所以写这篇文章的目的一方面是对自己工作中一些css高级技巧的总结,另一方面也是希望能教大家一些实用的技巧和高效开发css的方式,以提高在工作中的效率。
使用原生canvasAPI绘制水球图,这将是一个非常有意思的挑战任务。水球图是一种常见的加载动画,属于扩展图形,在echarts中使用时需要下载扩展库(同为扩展库的还包括文字云插件和地图插件,项目地址为https://github.com/ecomfe/echarts-liquidfill)。
在我心目中有赞前端团队感觉非常不错,特意看了看他们网站有没有好玩的动画,最终发现一个水波纹动画,感觉挺有意思,和小伙伴们分享一下。有没有发现这个弹窗底部有一个水波纹一直在动。
作者:自去年第一次发布开源库 SmartRefreshLayout 以来,深刻的感受到了开源的乐趣。 所以打算以后开发过程中把一些自己实现的实用开源库也开源出来,供大家使用、讨论、升级。 MultiWaveHeader 便是第二个发布的开源库!先来看看下面的展示效果吧。
A convenience widget for drawing images and other decorations on [Material] widgets, so that [InkWell] and [InkResponse] splashes will render over them.
网上垂直的水波纹进度条很多,但横向的很少,将垂直的水波纹改为水平的还遇到了些麻烦,现在完善后发布出来,希望遇到的人少躺点坑。
利用css3的新特性可以帮助我们实现各种意想不到的特效,接下来的几个案例我们来使用css3的box-shdow来实现,马上开始吧!
通过自定义view实现了一个水滴滴落到水波面,溅起水花并且水波流动上涨的进度条控件。之前看到过好多水波流动的进度条,感觉欠缺些东西,就想到了水滴到水平面,溅起水花然后水流动上涨的进度条效果,于是自己动手写了出来。效果如下,视频录制有些卡顿,实际会流畅很多。
自 2011 年我国城镇化率首次突破 50% 以来,《新型城镇化发展规划》将智慧城市列为我国城市发展的三大目标之一,并提出到 2020 年,建成一批特色鲜明的智慧城市。截至现今,全国 95% 的副省级以上城市、76% 的地级以上城市,总计约 500 多个城市提出或在建智慧城市。
本文实例为大家分享了flutter Container容器实现圆角边框的具体代码,供大家参考,具体内容如下
最近工作上比较忙碌,很久没有更新文章了,难得国庆小长假,现在是2019年10月2日凌晨00:49,写一篇简单且实用的贝塞尔曲线应用,许多技术点的文章很多前辈都已经写的很好了,所以 如有纰漏之处,欢迎留言指正,同时也欢迎各位留言需要的技术点类型,争取奉献更优质的技术文章。
github地址 安装 npm install vue-ripple-directive --save main.js引入 import Ripple from 'vue-ripple-directive' Vue.directive('ripple', Ripple); Ripple.color = 'rgba(0, 0, 0, 0.2)'; //自定义水波纹颜色 水波纹按钮
和尚在学习 Flutter过程中遇到很多有趣的小知识点,平时可能不太注意或一些简单直接的小功能点,准备整理一个小系列,方便日后的查找使用。
领取专属 10元无门槛券
手把手带您无忧上云