本文实例为大家分享了Android实现水波纹扩散效果的具体代码,供大家参考,具体内容如下 先上图 ? 囧!没有图片所以就拿了小安代替了。 先看一下如何使用这个View。...<jianpan.com.mybutton.view.RippleDiffuse android:layout_width="200dp" android:layout_height="200dp"...给大了就看不到扩散效果了,给小,给多少的值合适呢?有没有正好的值,有的用父 view 的 size / 子 view 放大的倍数,这样肯定会达到理想的效果。...view的个数 private static final float DEFAULT_SCALE = 1.6f;//波纹放大后的大小 //点击有扩散效果的view private CircleImageView...实现水波纹外扩效果 以上就是本文的全部内容,希望对大家的学习有所帮助。
本文讲述了Android实现水波纹扩散效果的实例代码。分享给大家供大家参考,具体如下: 项目地址下载 1.效果图: ?...android:id="@+id/rippleImageView" android:layout_width="match_parent" android:layout_height="180dp..." android:background="#37B158" app:show_spacing_time="800"//动画播放间隔时间 app:imageViewWidth="35dp"//图片的大小...app:imageViewHeigth="35dp" android:layout_centerHorizontal="true" </com.army.rippleimage.RippleImageView...*/ private ImageView [] imgs=new ImageView[SIZE]; /**背景图片*/ private ImageView img_bg; /**水波纹和背景图片的大小*
最近需要做个类似于水波纹动画的效果,思考了一下不需要UI切个动态图,Android原生的技术利用动画或者自定义控件都可以实现,下面上个图类似于这样的效果 ?...--扩散间距-- <attr name="spread_distance" format="integer" / <!...distance : 1; alphas.set(i, alpha); spreadRadius.set(i, width + distance); } } //当最外层扩散圆半径达到最大半径时添加新扩散圆...spread_max_radius="90" app:spread_radius="150" app:spread_spread_color="@color/colorAccent" / 以上两种方法就实现了水波纹的效果...源码下载:Android实现水波纹特效 以上就是本文的全部内容,希望对大家的学习有所帮助。
RippleButton.gif 基本思路是自定义控件继承至Button,记录手势抬起坐标,利用RadialGradient实现效果 private P...
长按水波纹扩展效果 前言 水波纹效果从Android5.0就已经出来了,基本的使用相信大家都知道了,这里多谈一些相对深层次的使用: 1、基本使用 2、水波纹效果与布局绘制之间的问题 3、长按水波纹扩散效果...4、Button点击的水波纹效果 基本使用 系统自带水波纹实现方式 有界水波纹 android:background="?...android:attr/selectableItemBackground" 无界水波纹 以控件宽高中最大的数值作为水波纹效果所在正方形的边界进行绘制 android:background="?...image.png 长按水波纹扩散效果 ? 长按水波纹扩展效果 在使用小红书时,我们可以看到关于“笔记”的item长按会展示扩散的效果,其实原理也很简单。...无边界的水波纹可以达到长按扩散的效果,只是它会超出边界,那我们就在对应的父布局加一层有边界的水波纹背景即可。
确认需求 首先还是老套路,先确定一下需求,捋一下思路,然后才好写代码: 1.首先要有一个圆2.这个圆会边扩散边消失3.当这个圆扩散到一定程度的时候再绘制一个圆4.有限循环 / 无限循环5.可以有 / 无...这个圆会边扩散边消失 一边扩散,一边消失。 没错,这里也是使用这种 evaluate 来计算大小和透明度。...> 来控制每一个「会扩散消失的圆」。...这里主要就是控制显示几次,毕竟有的需求不是一直显示波纹效果。...这样一个有水波纹扩散效果的 Widget 就封装完成了。
本文为大家分享了Android实现水波纹效果展示的具体代码,供大家参考,具体内容如下 一、效果 ?
mask 直译过来有遮罩的意思,它会限定水波纹的范围。...没有指定mask ,并且也没有指定radius 时,会以控件宽高中的较大值为直径绘制水波纹,这样就必然会超出控件的范围,所以,这种效果也叫做 无界水波纹效果。...--无界水波纹效果,所谓无界,实际是以空间宽度或高度中的大值作为直径绘制一个园--> <TextView android:layout_width...--有界水波纹效果。...水波纹效果只在控件内绘制--> <TextView android:layout_width="match_parent"
">//这里是扩散水波纹的色值 有个问题需要注意,如果的想要你的波纹没有按压的时候为透明状态...">//这里是扩散水波纹的色值 //这里你用透明色和透明的图片都是没有效果的 //这里是扩散水波纹的色值 里面的色值可以任选一个... android:id=”@android:id/mask”会让系统并不会真的绘制,并告知波纹的绘制边界 如果写成下面,波纹的绘制范围会超出控件的边界 //这里是扩散水波纹的色值 如上,这样设置后5.0以下的设备具有按钮按下变色的效果,5.0以上就具有水波纹效果.其他控件同理 后续: Material Design Button
有很多app使用过水波纹的这样的效果,看着很酷酷的样子,所以自己就撸码写了一个。 ?...实现思路: 利用贝塞尔曲线绘制圆弧(也就是水波的波纹) 通过动画改变绘制的起始点使水波纹平移 首先,定义我们需要的自定义属性。 <?...xml文件使用: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http...://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android...:layout_centerInParent="true" android:id="@+id/waterView" android:layout_width="match_parent" android
实现方法是结合贝塞尔曲线和Xfermode,核心是利用path的offset()方法,不断偏移path /** * 水波纹进度条 */ public class BezierProgressView...int width, height; float centerX, centerY; //背景圆的缓冲 private Bitmap roundBitmap; //需要和水波纹做...wavePath = new Path(); private LinearGradient linearGradient; private float offset = 0; //水波纹速度...private void drawWave(Canvas canvas) { float ratio = 1 - progress / maxProgress; //水波纹
5.0引入了很多动画效果,是谷歌提供的自带的效果,其中触摸反馈就是一种,简而言之就是点击水波纹效果,Button就默认带有水波纹效果 ?...attr/selectableItemBackground"--和Button一样的效果(扩散时有边界,边界就是View的宽高) 2.android:background="?...attr/selectableItemBackgroundBorderless"--扩散不含边界 两种值的效果如下: ?...我们还可以改变水波纹的形状,需要在drawable自定义水波纹效果的xml,这边用了默认的安卓机器人启动图标 <ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="@color/colorPrimaryDark
本文实例为大家分享了Android 5.0 实现水波扩散效果的具体代码,供大家参考,具体内容如下 该效果是通过自定义界面来实现的 1、首先自定义属性,attrs.xml代码如下: <?...2、自定义RippleView类继承RelativeLayout布局,也可以由需求所定继承于其它类,实现水波扩散效果主要的有两点:水波扩散的绘制和动画 1)水波的绘制其实就是绘制一个圆形 canvas.drawCircle...="http://schemas.android.com/apk/res/com.example.rippleview" android:layout_width="match_parent" android...:layout_width="match_parent" android:layout_height="100dp" android:layout_centerInParent="true" android...="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:text
介绍:水波纹散开效果的控件在 App 里面还是比较常见的,例如 网易云音乐歌曲识别,附近搜索场景。 看下实现的效果: ?
本控件已上传Github,欢迎Star和Fork,项目地址:CircleWaterWaveView
PS:自定义view篇-水波纹实现 效果:水波纹扩散 场景:雷达、按钮点击效果、搜索等 实现:先上效果图,之前记得支付宝有一个咻一咻,当时就是水波纹效果,实现起来一共两步,第一画内圆,第二画多个外圆...typedArray.getColor(R.styleable.SpreadView_spread_center_color, ContextCompat.getColor(context, android.R.color.holo_red_light...centerPaint.setColor(centerColor); //消除锯齿 centerPaint.setAntiAlias(true); //水波纹扩散...spreadPaint.setStyle(Paint.Style.STROKE); spreadPaint.setAlpha(255); //初始化第一个水波纹... centerX = w / 2; centerY = h / 2; } 2、开始绘制onDraw() 我们已经做了好前奏,剩下的就开始绘制了,首先我们要确定几个圆才能形成水波纹效果
本文介绍的是Android5.0中其中一个炫酷的效果,点击水波纹扩散效果(Ripple Effect)....而大家想兼容低系统版本的话,就需要新建v21(即Android5.0)的Resource Directory. 第一步:在drawable下建立一个xml,为水波纹的背景 menu.xml: <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">... 第二步:在drawable-v21文件夹下建立一个ripple的xml,为水波纹的实现文件,其中为水波纹的颜色,item则与上面的xml同样即可 menu_bg.xml: <?
本文实例为大家分享了android自定义WaveView水波纹控件的使用方法,供大家参考,具体内容如下 Github Repository and libaray WaveView水波纹控件 首先看下演示...demo中可以看到不同高度,不同速度,不同幅度的水波纹;你可以通过view的参数直接控制view的表现形式。...compile 'com.github.onlynight:WaveView:1.0.0' } 使用 布局文件中添加view: <com.github.onlynight.waveview.WaveView android...:id="@+id/waveView1" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight...,实际上只是一个正弦波和余弦波向左位移,然后将三角函数的周期加长,在一个view中不显示整个三角函数的的波形,这样从视觉上来说就是水波纹效果啦。
触摸反馈: 在Android L5.0中加入了触摸反馈动画。 其中最明显,最具代表性的就是波纹动画,比如当点击按钮时会从点击的位置产生类似于波纹的扩散效果。...波纹效果(Ripple): 当你使用了Material主题后,波纹动画会自动应用在所有的控件上,我们当然可以来设置其属性来调整到我们需要的效果。...可以通过如下代码设置波纹的背景: android:background="?...android:attr/selectableItemBackground"波纹有边界 android:background="?...设置颜色 我们也可以通过设置xml属性来调节动画颜色,从而可以适应不同的主题: android:colorControlHighlight:设置波纹颜色 android:colorAccent:设置
我们在使用Button时,默认点击会带有一个水波纹扩散的效果,如果我们想要使用自己的颜色,那怎么办呢,今天就来介绍二种实现自定义颜色水波纹的方法 方法一:使用drawable 在drawable-v21...> <ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="@color/colorPrimaryDark..."> 使用该方法时,在安卓5.0以下系统中会崩溃,因为5.0以下不支持水波纹效果...> <item android:drawable="@...android:layout_width="wrap_content" android:layout_height="wrap_content" android
领取专属 10元无门槛券
手把手带您无忧上云