RippleButton.gif 基本思路是自定义控件继承至Button,记录手势抬起坐标,利用RadialGradient实现效果 private Paint ripplePaint = new...postInvalidate(); break; } return super.onTouchEvent(event); } onDraw方法中实现效果
长按水波纹扩展效果 前言 水波纹效果从Android5.0就已经出来了,基本的使用相信大家都知道了,这里多谈一些相对深层次的使用: 1、基本使用 2、水波纹效果与布局绘制之间的问题 3、长按水波纹扩散效果...4、Button点击的水波纹效果 基本使用 系统自带水波纹实现方式 有界水波纹 android:background="?...长按水波纹扩展效果 在使用小红书时,我们可以看到关于“笔记”的item长按会展示扩散的效果,其实原理也很简单。...无边界的水波纹可以达到长按扩散的效果,只是它会超出边界,那我们就在对应的父布局加一层有边界的水波纹背景即可。...参考资料 Ripple 水波纹效果 聊聊Android5.0中的水波纹效果 解决点击ripple水波纹无效的问题 UI之修改Button颜色保持默认点击效果
二、RippleDrawable基本概念介绍 (1)、RippleDrawable RippleDrawable可以实现上面效果图中的水波纹效果,它是在API 21 中添加的,所以,低于21的版本中不可使用...没有指定mask ,并且也没有指定radius 时,会以控件宽高中的较大值为直径绘制水波纹,这样就必然会超出控件的范围,所以,这种效果也叫做 无界水波纹效果。...指定mask 后 ,id 为 mask 的item 中指定的drawable 可以限定水波纹的范围。 三、代码示例: (1)、xml 中定义 ripple 下列代码依次对应效果图中的前6个。...--无界水波纹效果,所谓无界,实际是以空间宽度或高度中的大值作为直径绘制一个园--> <TextView android:layout_width...--有界水波纹效果。
本文介绍的是Android5.0中其中一个炫酷的效果,点击水波纹扩散效果(Ripple Effect)....第一步:在drawable下建立一个xml,为水波纹的背景 menu.xml: 第二步:在drawable-v21文件夹下建立一个ripple的xml,为水波纹的实现文件...,其中为水波纹的颜色,item则与上面的xml同样即可 menu_bg.xml: <?
今天在做设置界面的时候发现一个快速实现水波纹效果的方法,在需要实现水波纹的控件加上 android:clickable="true" android:background...android:attr/selectableItemBackground" 这样在安卓5.0以上就实现点击波纹效果。但是弊端就是,在安卓5.0以下,点击不会有阴影效果。
具体表现就是版本不符的时候没有基本的波纹效果(要MD就是要找个风格没有这个我玩nm),我本来以为是Chrome的问题,但是,直到我提交了issue,得到回答查了很多资料,就连官方都没告诉你怎么降版本,自己捣鼓了一晚上算是搞定了
效果图: 实现步骤: 1、在style.xml中添加 25dp android:colorControlHighlight为点击后波纹的颜色...android:radius为效果半径(实测) 2、一个ImageButon <ImageButton android:id="@+id/view_back" android:layout_width...src="@drawable/ic_arrow_back_white_24dp" android:theme="@style/Rip 其中重要属性android:background要设置为无边界的波纹
动态(水波纹)涟漪效果 1 水波纹效果原理 最近一个做视频滤镜的朋友,让我给他做一个动态水波纹效果,具体就是:点击屏幕上的某一位置,然后波纹以该位置为中心向周围扩散。...模拟物理世界中的水波纹 最后观察出,物理世界中水波纹的特点如上图所示,从水面的正上方往下看,在凹面上方观察到的是缩小效果,而在凸面上方观察到的是放大效果,然后整个水波纹效果就是放大和缩小效果的交叉排列...因此,我们得出结论,水波纹(涟漪)效果实际上就是一组组相互交替、幅度向外部逐渐减小的缩小放大效果组合。 本文将水波纹模型简化成一组放大和缩小效果随时间逐步向外部偏移。...水波纹模型原理 发生形变区域的宽度为固定值 2*u_Boundary ,然后这个形变区域随着 u_Time 的变大逐步向外侧移动,最后就形成了动态的水波纹效果。...2 水波纹效果实现 基于上节的原理分析,实现水波纹效果的主要原理就是实现一定区域内的缩小和放大效果,我们以平滑函数的输出值作为纹理采样坐标的偏移程度。
现阶段页面体验和动态效果很被用户重视,由于之前都是面向对象编程,所以对于CSS动态效果有所忽略,现在要求越来越高,不得不面向CSS编程了,在实现页面动态效果的同时,并想记录下来以后搭建更多项目的时候快速复用...1、ion-input下划线效果 ?...---- 2、cardView点击水波纹效果 ?...演示效果.gif 由于录像软件问题,调试显示点击出现严重拖影现象,不过可以看出具体细节效果,点击的时候CSS绘制的渐变效果实际上并不是非常理想的圆弧,有点颗粒渐变,不过在正常显示的情况下,这个过程很快...2.3.2、transition: transform .3s,opacity .5s 扩展变化与透明度变化,这里非常考验人的想象能力,即在扩展过程中,透明度也必须发生变化,双重变化形成了水波纹的效果
鸿蒙特效教程03-水波纹动画效果实现教程 本教程适合HarmonyOS初学者,通过简单到复杂的步骤,一步步实现漂亮的水波纹动画效果。...二、定义水波纹数据结构 在实现动画效果之前,我们需要先定义水波纹的数据结构。...,当用户触摸并滑动屏幕时,波纹会实时跟随手指位置生成,创造出一种水流般的视觉效果。...,让波纹能够跟随手指滑动 这个简单而美观的水波纹效果可以应用在你的应用中的各种交互场景,例如按钮点击、图片查看、页面切换等。...通过调整参数,你还可以创造出不同风格的波纹效果。 希望这个教程对你有所帮助,祝你在鸿蒙应用开发中创造出更多精彩的交互体验!
JavaScript 动画框架 框架封装 ---- 相信大家在很多门户网站上都可以看到动画的交互效果,通过这些动画生动地体现了我们在网页上的交互效果,现在我们就来学习一下这些动画效果的分解动作吧。...动画的实现思路都是通过连续改变物体的属性值来实现效果的。一般来说都是改变一个物体的left,right,width,height,opacity....li> 四.链式动画 首先把上面的简单运动框架抽取出来然后加上透明度的变化,放进一个人通用的JS文件里movement.js...filter: alpha(opacity:30); opacity: 0.3; } js...JSON的格式: {键:值,键:值} 完善后的运动框架js:movement.js function getStyle(obj,attr) { if(obj.currentStyle){
/details/52540251 无意间发现一个问题,在使用 22.2.0 的 design 库时,FloatingActionButton 默认点击时产生水波纹的点击效果...,但是我使用最新版 24.2.0 的 design 库时,它默认点击没有水波纹效果,而且不响应 app:pressedTranslationZ="xxdp" 这个属性。...如果想实现 22.2.0 版本默认的效果,需要加上一个属性: android:clickable="true" 来让它拥有默认点击产生水波纹。
引言 水波纹效果是一种常见且迷人的视觉效果,广泛应用于游戏和图形设计中。在这篇博客中,我们将使用Python创建一个逼真的水波动画。...通过利用Pygame库和基于网格的算法,我们可以实现动态水波纹效果。 准备工作 前置条件 在开始之前,你需要确保你的系统已经安装了Pygame库。...并设置屏幕的基本参数: pygame.init() screen = pygame.display.set_mode((800, 600)) pygame.display.set_caption("水波纹效果...- 1: self.previous[y-radius:y+radius, x-radius:x+radius] += intensity 绘制水波 我们定义一个函数来绘制水波效果...# 初始化Pygame pygame.init() screen = pygame.display.set_mode((800, 600)) pygame.display.set_caption("水波纹效果
作者博客 http://www.jianshu.com/u/5aad180d1ea8 前言 在网上经常会看到别人写的一些开源项目,然后会惊叹于他们的写的效果,当然那些大神也会把代码放出来,然后供大家看,...我来写下我最近学的动画效果及相关的知识。 仿百度外卖个人中心效果 ? 我们先来看下这个自定义的View的代码是如何实现的。 ? ? ? 我们一步步来分析。首先我们要自定义一个View。 ?...我们是不是在想这个百度个人中心效果到底是怎么实现的,在这里我要贴个图: ? 哈哈。没错。那二个上下浮动的曲线。我们可以用同时画二个线,一个sin函数,一个cos函数。而且处于同一水平线。...怎么让他不停的往左移动,产生波浪的效果呢。这时候就会想到重新绘制,然后再画一遍,但是这时候不能原来这个sin函数。sin里面的φ参数要变一下,这样再次重绘的时候。...最后咱们做出来的效果图就是这样滴: ?
我们在日常使用 APP 当中,肯定会遇到这种效果,那么这种效果是如何实现的呢?...这样看起来效果是不错的。 有限循环 / 无限循环 在刚才的代码里面其实就有这一部分的逻辑: while (widget.cycles == null ?...这里主要就是控制显示几次,毕竟有的需求不是一直显示波纹效果。...这样一个有水波纹扩散效果的 Widget 就封装完成了。
一、纯css制作声波扩散动画 参考文章:纯css制作声波扩散动画 播放效果通过音频状态来控制 效果如下 完整代码: 波纹动画特效 <style...); document.querySelector("#audio").pause(); } 二、js...+css3波纹催眠动画特效 参考文章:JavaScript+css3波纹催眠动画特效 效果如下 完整代码 js+css3波纹催眠动画特效 :root {
https://blog.csdn.net/lyhhj/article/details/48505041 Android5.0已经出了好久了,但是目前市场上的App好像没有多少用5.0上面的一些效果...今天我们看一下RippleEffect水波纹点击效果,先上图: image.png 大家可以看到按钮或者布局点击的时候会有水波涟漪的效果,很不错,用到你的app上一定会很高大上的。...; invalidate(); } } 我们可以在这里面设置圆的最大半径,最大半径越大,我们得到的水波涟漪效果越快...,越小,得到的水波涟漪效果越慢,也就是radiusMax /=1,这句代码。...当然我们的ListView的item点击也可以实现这样的效果,因为我们的RippleView中是支持Listview点击的 [java] view plaincopy /** *
http://mpvideo.qpic.cn/0b78biabsaaadaacplu7bvqfacwddefaagia.f10002.mp4? 点击按钮触发 r...
使用RequestAnimationFrame,核心部分就是利用transformX实现位移 Js 逻辑写的比较挫,还要想想怎么改进,或者有更好的思路。
所以,今天给大家分享的这个多重水波纹效果的开源库也不会差。 作者:自去年第一次发布开源库 SmartRefreshLayout 以来,深刻的感受到了开源的乐趣。...先来看看下面的展示效果吧。 ? 怎么样?效果不错吧? 作者为什么会想起来开源这么一个库呢?...通过作者的想法,我们其实有很多学习的地方,就是网上开源的很多库并不是特别适合自己,总是感觉有些地方需要修改,这时候,我们不是应该将就着用,而是应该去学习那个开源库,并改善和修改成自己想要的效果。...具体看看实际效果图如下: ? ? 具体的使用方法和开源代码我就不介绍了,微信公众号对于代码的支持不是特别友好,手机端看代码也不是很方便。大家可以去 GitHub 上关注和下载开源库,看详细使用方法。