# Android 设置水波纹效果的入门指南
在Android开发中,水波纹效果(Ripple Effect)是一个常见且美观的视觉反馈,特别是在按钮和其他交互元素上。这种效果可以为用户提供更好的交互体验,增强应用的UI友好性。本文将介绍如何在Android中实现水波纹效果,并提供相关代码示例来加深理解。
## 水波纹效果的基础
水波纹效果通常表现为一种扩散的动画效果,当用户点击或触摸某个视            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-08-06 12:20:37
                            
                                96阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            水波纹效果已经不是什么稀罕的东西了,用过5.0新控件的小伙伴都知道这个效果,可是如果使用一个TextView或者Button或者其它普通控件的话,你是否知道如何给它设置水波纹效果呢?OK,我们今天就来看看这个水波纹效果的实现。水波纹效果的实现有系统自带属性可以实现,我们也可以自定义实现效果。1.系统自带水波纹实现方式 有界水波纹水波纹效果大致上可以分为两种,一种是有界的,一种无界,我们先            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-06 19:59:31
                            
                                363阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            需求如下,实现一个圆形水波纹,带进度,两层水波纹需要渐变显示,且外围有一个圆弧进度。思路外围圆弧进度:可以通过canvas.drawArc()实现。由于圆弧需要实现渐变,可以通过给画笔设置shader(SweepGradient)渲染,为了保证圆弧起始的颜色值始终一致,需要动态调整shader的参数。具体参见SweepGradient(centerX.toFloat(), centerY.toFl            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-24 00:49:16
                            
                                354阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
             Demo 下载: https://github.com/CodingForAndroid/RippleEffect 学习 谷歌 material design的交互设计、向新技术靠拢~   由于谷歌的只有在5.0+才可以有这个效果~ 而我们手头手机大部分还是4.+的、因此自己去实现这个效果、让各种版本的都可以用 无疑是挺好的、 这个Demo 实现了以下几点功能: ①:要实现水            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-01-24 10:16:04
                            
                                135阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            # Android设置水波纹效果
 
                                    
                             
         
            
            
            
            先来贴一下要实现的最终效果:       由于截图软件的原因所以上图看着有些卡,在实际中是比较流畅滴,下面开始来一步步实现它。特殊字体处理:新建工程,然后先来显示一下特殊字体,对于android中如何使用自定义字体这里不多赘述了,比较简单,先将字体文件放至到asserts目录当中:       然后新建一个自定义View,在新建之前需要针对这个效果进行一个思考:是直接继承View开搞么?当然是毫无            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-01 12:31:40
                            
                                176阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            本篇博文介绍一个Android自定义View的案例,后续博文会接下自定义View的相关流程和绘制原理。通过自定义控件实现。触摸屏幕实现水波纹效果。 
 
  实现步骤 
 
  第1步.自定义MyWave继承View 
 public class 
  MyWave 
  extends 
  View {
 
 
}  
  
  第2步.重写带两个参数的构造方法 
 public            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-31 18:47:14
                            
                                133阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            这个教程很简单也好学,希望对初步认识FLASH的动画爱好者有帮助,废话少说,下面我们开始制作 教程吧教程准备,准备一张带水的风景图片为例,其他没有什么需求一,首先打开FLASH软件8.0,这个版本比较好用,设置文档属性为宽550 高400,也是软件默认的属性,背景颜色你可以改为自己喜欢的颜色,这个看由你自己选择,在制作时我比较喜欢用黑色,如图设置好文档属性后,我们点击确定,进入场景中来,二 在场景            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-01-25 10:10:44
                            
                                150阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            最近研究了一个特效动画: 一个水波纹动画的动态效果。有兴趣的童鞋们可以去了解一下。定义组件大家都非常熟悉。不可以参考如不熟悉童鞋可以去参考:水波纹动画展示效果:针对于这样的效果我们可能想起来的绘制方式有:第一种方式: 正弦曲线 计算x,y。VauleAnimation  控制x的行走画无数个直线–利用高等数学微积分path.lineTo()方法存储微小的直线最后canvas.drawLine(x1            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-29 21:22:48
                            
                                332阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            你是否遇到过在 Flutter 中,点击按钮或者底部导航栏的时候,出现下面的情况 有时候我们并不需要这种水波纹效果,该怎样取消呢?下面提供两种方式,一种全局设置,一种局部设置,大家根据自己的业务情况选择即可。 文章目录一:全局去除设置二:局部去除设置 一:全局去除设置找到 MaterialApp 组件,设置其 theme 属性如下@override
Widget build(BuildContex            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-03 10:32:27
                            
                                388阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            你可以定义成你项目的logo图片,可以设置水波颜色、波长、波宽、字体大小、颜色、进度条的最大值,当前进度值,还可以设置波纹震动的快慢。当设置一个进度不变的时候,打开时还有一个动画填满的效果(比如第二个流量显示,这里图片没有截出这个效果)。  源码地址1. 如何使用1.1 在布局文件中  添加自定义控件:<cn.fanrunqi.waveprogressview.WaveProgressVie            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-05 20:45:43
                            
                                178阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一.简介   
    
   最近在打黑魂,被虐得死去活来,每次都是想砸电脑的节奏,然而还是忍不住想玩,唉。下面步入正题,黑魂的传送技能之前会播放一个帅帅的屏幕特效-屏幕水波,从屏幕中间向四周扩散开来,很有赶脚。下面附上一张截图: 
        
   正好最近在学习shader,决定研究一下这种效果怎样实现。 
        二.原理介绍       
   水波纹的原理其实比较简单,与            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-01-28 06:59:04
                            
                                183阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            效果如下:思路:  按钮及按钮的父标签定位需为绝对定位或相对定位  绑定按钮的click事件,把其样式设置为overflow:hidden,并添加下标线标签并设置其样式  当鼠标点击按钮时,如果按钮内有标签(波兰纹)即把该标签删掉,注:必须先添加标签然后计算标签样式再更改其相应样式,如果先计算样式然后添加标签后立即接修改其样式,有可能出现修改样式时获取不到标签的问题;  获取目标事件的位置page            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-08-28 21:02:31
                            
                                44阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            前言水波纹特效,想必大家或多或少见过,在我的印象中,大致有如下几种:支付宝 "咻咻咻" 式流量球 "荡漾" 式真实的水波纹效果,基于Bitmap处理式话不多说,先来看看效果:填充式水波纹,间距相等非填充式水波纹,间距相等非填充式水波纹,间距不断变大填充式水波纹,间距不断变小想必大家已经知道基本的原理了,就是用Canvas来画嘛,但可不是简单的画哦,请往下看。分析这种类型的水波纹,其实无非就是画圆而            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-12 06:47:37
                            
                                434阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            效果图实现思路这个效果实现起来并不难,重要的是思路  此View满足了多种水波纹涟漪扩散效果,这要求它能满足很多的变化  根据上面的样式,可以看出此View需要满足以下变化圆圈从中心可循环向外扩散圆圈之间的扩散间距可以改变可控制扩散圆的渐变度圆圈可以是线条样式或者实心样式圆圈扩散的速度可以控制适配圆圈不同大小下的扩散效果具体实现创建自定义属性首先为View创建自定义的xml属性  在工程的valu            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-24 21:37:40
                            
                                152阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            本文实例为大家分享了android自定义WaveView水波纹控件的使用方法,供大家参考,具体内容如下Github Repository and libaray首先看下演示demodemo中可以看到不同高度,不同速度,不同幅度的水波纹;你可以通过view的参数直接控制view的表现形式。引入你的工程在项目的根目录下的build.gradle文件中添加如下代码:allprojects {
repos            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-11-08 14:08:08
                            
                                182阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            先上图,看看接下来我要向大家介绍的是个什么东西,例如以下图: 接下来要介绍的就是怎样实现上述图中的波纹效果。这样的效果假设大家没有体验过的话,能够看看百度手机卫士或者360手机卫士,里面的按钮点击效果都是这样的,另外Android 5.0以上的版本号也出现了这样的效果。不多说,以下聊聊详细的怎么实现。首先大家看到的是三个button,水波纹的出现给我们的错觉是直接将波纹绘制在button上面的,可            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-27 23:33:46
                            
                                630阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            核心属性: background-attachment这个属性就牛逼了, 它可以定义背景图片是相对视口固定,还是随着视口滚动, 加上这个属性网页瞬间就从屌丝变成高大上。我们来看个例子:html:  <div class="attach view"></div>
<div class="text view">I WANT FLY</div>
<d            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-21 16:39:12
                            
                                171阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            效果图原理分析首先需要了解的水波纹实现效果,可以在博客的自定义View专题找到,其实现原理如下利用贝塞尔曲线绘制屏幕外和屏幕内的sin曲线利用path将sin曲线的左下角和右下角连接起来成为一块区域通过不断的平移sin曲线,然后平移完一个周期则重新回到原点实现步骤绘制实现的步骤如下裁剪画布为圆形绘制圆形边框绘制波浪区域绘制进度文字自动增长进度1、初始化变量public class WaveView            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-26 14:46:19
                            
                                193阅读
                            
                                                                             
                 
                
                                
                    