水波扩散是一个比较好看的交互效果,特别是在某些以水为故事发生场景的游戏中,扩散的水波会让场景更加栩栩如生 ?...demo 实现思路 如果水波静止,我们看到的其实是像素点围绕着某个中心点的拉伸效果,我们只需让每个像素点叠加上它和中心点的向量差,就能够呈现出画面上的所有像素围绕中心点的拉伸感。...掏空式往外涌 但是水波往外扩散是呼吸灯式的一波波往外涌,而且不是这种无尽式的一直把东西往外掏的感觉,所以我们要给cc_time.x加上一个周期性的变化,让它能表现出这种周期性的往外扩散的感觉。...周期性往外涌 这种呼吸灯式的涌动其实和我们的最终效果有很大区别,因为它永远在循环涌动,但是我们的水波是从中心扩散出去之后,中间部分就不再动了的,怎么让中间的像素不再多次涌动呢?...如果把一圈水波比作圆,那水波的扩散行为其实就是这个圆的半径在不断的增大,圆外面的波纹有效,圆里面的波纹静止。
本文实例为大家分享了Android 5.0 实现水波扩散效果的具体代码,供大家参考,具体内容如下 该效果是通过自定义界面来实现的 1、首先自定义属性,attrs.xml代码如下: <?...2、自定义RippleView类继承RelativeLayout布局,也可以由需求所定继承于其它类,实现水波扩散效果主要的有两点:水波扩散的绘制和动画 1)水波的绘制其实就是绘制一个圆形 canvas.drawCircle...(mDownX, mDownY, mRadius, mRipplePaint); 2)动画效果就是该圆形的绘制从小到大的过程,而该圆形到最大时的半径长度就是当前所在布局的对角线长度: @Override...super.onSizeChanged(w, h, oldw, oldh); // 获取最大半径 mMaxRadius = (float) Math.sqrt(w * w + h * h); } 动画效果用属性动画...private float mMaskAlpha;// 遮掩透明度 private float mRippleAlpha;// 水波透明度 private int mRippleTime;// 水波动画时间
本文实例为大家分享了Android实现水波纹扩散效果的具体代码,供大家参考,具体内容如下 先上图 ? 囧!没有图片所以就拿了小安代替了。 先看一下如何使用这个View。...给大了就看不到扩散效果了,给小,给多少的值合适呢?有没有正好的值,有的用父 view 的 size / 子 view 放大的倍数,这样肯定会达到理想的效果。...RIPPLE_VIEW_COUNT = 3;//波纹view的个数 private static final float DEFAULT_SCALE = 1.6f;//波纹放大后的大小 //点击有扩散效果的...position); wave.startAnimation(mAnimas.get(position)); super.handleMessage(msg); } }; 参考地址:Android实现水波纹外扩效果
本文讲述了Android实现水波纹扩散效果的实例代码。分享给大家供大家参考,具体如下: 项目地址下载 1.效果图: ?...*/ private ImageView [] imgs=new ImageView[SIZE]; /**背景图片*/ private ImageView img_bg; /**水波纹和背景图片的大小*...imageViewHeigth)); //添加一个规则 params.addRule(RelativeLayout.CENTER_IN_PARENT,RelativeLayout.TRUE); /**添加水波纹图片...0.5f); } //============================对外暴露的public方法========================================= /** * 开始水波纹动画...show_spacing_time); mHandler.sendEmptyMessageDelayed(MSG_WAVE3_ANIMATION, show_spacing_time * 2); } /** * 停止水波纹动画
我们在日常使用 APP 当中,肯定会遇到这种效果,那么这种效果是如何实现的呢?...这个圆会边扩散边消失 一边扩散,一边消失。 没错,这里也是使用这种 evaluate 来计算大小和透明度。...> 来控制每一个「会扩散消失的圆」。...这里主要就是控制显示几次,毕竟有的需求不是一直显示波纹效果。...这样一个有水波纹扩散效果的 Widget 就封装完成了。
两种方式实现类似水波扩散效果,先上图为敬 自定义view实现 动画实现 ?...自定义view实现 思路分析:通过canvas画圆,每次改变圆半径和透明度,当半径达到一定程度,再次从中心开始绘圆,达到不同层级的效果,通过不断绘制达到view扩散效果 private Paint centerPaint...中间的圆 canvas.drawCircle(centerX, centerY, radius, centerPaint); //TODO 可以在中间圆绘制文字或者图片 //延迟更新,达到扩散视觉差效果...相比较而言,自定义view的效果更好点,动画实现起来更方便点。 两种方式实现的扩散效果介绍完毕,具体项目里还是要按需变动的。...总结 以上所述是小编给大家介绍的Android 实现圆圈扩散水波动画效果两种方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。
充电摇晃效果 大体上采用伪元素来实现的电池充电效果 实现效果 实现思路 首先搭建一个html框架,建出电池模型 先尝试利用动画实现水面上升的效果 利用伪元素不规则的圆,定位在水的上半部分,让这个不规则的圆...,来遮盖水,从而使水面出现不均,再让不规则的圆旋转,使得,遮盖水面的情况不一样,形成涟漪的效果 再利用伪元素,同样的方法建一个不规则圆,给点透明度,出现背后的阴影效果 要点分析 创建明显的水纹 .wave
RippleButton.gif 基本思路是自定义控件继承至Button,记录手势抬起坐标,利用RadialGradient实现效果 private Paint ripplePaint = new...postInvalidate(); break; } return super.onTouchEvent(event); } onDraw方法中实现效果
本文为大家分享了Android实现水波纹效果展示的具体代码,供大家参考,具体内容如下 一、效果 ?
本文实例为大家分享了RecyclerView实现水波纹点击效果的具体代码,供大家参考,具体内容如下 效果图 ?...<item android:drawable="@color/write"/ </ripple drawable/recycler_item_selector.xml (v21版本以下的没有水波纹效果...LinearLayoutManager.VERTICAL,false)); mRecyclerView.setAdapter(myAdapter); } } github :RecyclerView水波纹效果
border-radius: 50%; } <script src="http://code.jquery.com/jquery-1.11.3.min.<em>js</em>
长按水波纹扩展效果 前言 水波纹效果从Android5.0就已经出来了,基本的使用相信大家都知道了,这里多谈一些相对深层次的使用: 1、基本使用 2、水波纹效果与布局绘制之间的问题 3、长按水波纹扩散效果...Mask的内容并不会被绘制到屏幕上,它的作用是限定Ripple效果的绘制区域。 最后可以得到我们想要的效果: ? image.png 长按水波纹扩散效果 ?...长按水波纹扩展效果 在使用小红书时,我们可以看到关于“笔记”的item长按会展示扩散的效果,其实原理也很简单。...无边界的水波纹可以达到长按扩散的效果,只是它会超出边界,那我们就在对应的父布局加一层有边界的水波纹背景即可。...参考资料 Ripple 水波纹效果 聊聊Android5.0中的水波纹效果 解决点击ripple水波纹无效的问题 UI之修改Button颜色保持默认点击效果
androidcustomview/widget/WaveViewBySinCos.java 文章目录 前言 开篇 正余弦函数实现 贝塞尔曲线实现 两种方式对比总结 1 前言 这次给大家带来的是一篇关于自定义View实现水波动画效果的文章...,其实在去年项目中使用过类似的动画,当时就自定义View也实现了预期的效果,最近项目中又使用了相似的效果,于是对代码重新整理了一下并且记录下来,便于以后有类似需求可以当作参考!...开启动画之后再运行一下看看效果吧 ?...计算控制点纵坐标的方式.png 根据计算得到起点和控制点坐标之后就可以写代码运行了效果和上边的运行效果一样就不再展示了,上边的计算内容就解释了代码提出的问题 ?...正余弦函数的波形使用是根据相位控制的,而贝塞尔曲线实现的波形效果是不断改变波的起始位置控制的,并且使用贝塞尔曲线的话需要先在屏幕外边绘制一个完整的波形,保证在平移的过程中可以看到图像不间断的移动来达到移动的波形效果
二、RippleDrawable基本概念介绍 (1)、RippleDrawable RippleDrawable可以实现上面效果图中的水波纹效果,它是在API 21 中添加的,所以,低于21的版本中不可使用...没有指定mask ,并且也没有指定radius 时,会以控件宽高中的较大值为直径绘制水波纹,这样就必然会超出控件的范围,所以,这种效果也叫做 无界水波纹效果。...指定mask 后 ,id 为 mask 的item 中指定的drawable 可以限定水波纹的范围。 三、代码示例: (1)、xml 中定义 ripple 下列代码依次对应效果图中的前6个。...--无界水波纹效果,所谓无界,实际是以空间宽度或高度中的大值作为直径绘制一个园--> <TextView android:layout_width...--有界水波纹效果。
前言 本文将介绍如何增添水波荡漾效果,效果如图所示: 教程链接:https://weilining.cf/24.html 操作 在\themes\butterfly\source\js目录下创建一个...ripples.js文件,并将如下代码写入该文件 $(document).ready(function () { try { $("#page-header").ripples({..."> - 未开启 pjax inject: head: bottom..."> - 重新部署,启动,就可以看到效果啦。...结尾 用一些特定的背景,再搭配水波特效简直绝美。
GestureDetector 使用点击无水波纹出现,InkWell可以实现水波纹效果。...1 widget 设置水波纹点击效果 并设置widget背景 ?...默认矩形 color: Colors.purple, child: new InkWell( //点击事件回调 onTap: () {}, //不要在这里设置背景色,for则会遮挡水波纹效果...3 圆角widget 设置自定义水波纹颜色点击效果 ?..., //水波纹的半径 radius: 0.0, //水波纹的颜色 设置了highlightColor属性后 splashColor将不起效果 splashColor: Colors.red
效果图 Demo源码 wxml </view
具体表现就是版本不符的时候没有基本的波纹效果(要MD就是要找个风格没有这个我玩nm),我本来以为是Chrome的问题,但是,直到我提交了issue,得到回答查了很多资料,就连官方都没告诉你怎么降版本,自己捣鼓了一晚上算是搞定了
一、前言 几年前就一直考虑过写这个控件了,在9年前用C#的时候,就看到过别人用C#写了个水波效果的控件,挺好玩的,当时看了下代码用的二维数组来存储变换的图像像素数据,自从学了Qt以后,有过几次想要用Qt...前阵子一个好友-离心泵(QQ:33522)恰巧写了个,我在他的基础上改进了一些功能,增加了一些接口设置,比如提供参数可以控制水波的消失速度,扩散的速度,水波的面积大小以及水波的深度等。...二、实现的功能 1:可设置显示的图像 2:可设置衰减系数,控制消失速度,值越小水波消失越快 3:可设置折射系数,控制扩散速度,值越大水波扩散越快 4:可设置石头大小,控制水波面积,值越大水波面积越大 5...:可设置石头重量,控制水波深度,值越大水波深度越浪 6:目前采用的是cpu运算和绘制,图片越小越流畅 三、效果图 [在这里插入图片描述] 四、头文件代码 #ifndef WAVEWATER_H #define...* 2:可设置衰减系数,控制消失速度,值越小水波消失越快 * 3:可设置折射系数,控制扩散速度,值越大水波扩散越快 * 4:可设置石头大小,控制水波面积,值越大水波面积越大 * 5:可设置石头重量
领取专属 10元无门槛券
手把手带您无忧上云