RippleButton.gif 基本思路是自定义控件继承至Button,记录手势抬起坐标,利用RadialGradient实现效果 private Paint ripplePaint = new...postInvalidate(); break; } return super.onTouchEvent(event); } onDraw方法中实现效果
长按水波纹扩展效果 前言 水波纹效果从Android5.0就已经出来了,基本的使用相信大家都知道了,这里多谈一些相对深层次的使用: 1、基本使用 2、水波纹效果与布局绘制之间的问题 3、长按水波纹扩散效果...4、Button点击的水波纹效果 基本使用 系统自带水波纹实现方式 有界水波纹 android:background="?...android:attr/selectableItemBackground" 无界水波纹 以控件宽高中最大的数值作为水波纹效果所在正方形的边界进行绘制 android:background="?...有两种方案可以达到想要的这种效果: 1、使用系统自带有界水波纹实现方式,因为系统本身的默认背景是透明色的。 android:background="?...参考资料 Ripple 水波纹效果 聊聊Android5.0中的水波纹效果 解决点击ripple水波纹无效的问题 UI之修改Button颜色保持默认点击效果
本文为大家分享了Android实现水波纹效果展示的具体代码,供大家参考,具体内容如下 一、效果 ?
二、RippleDrawable基本概念介绍 (1)、RippleDrawable RippleDrawable可以实现上面效果图中的水波纹效果,它是在API 21 中添加的,所以,低于21的版本中不可使用...没有指定mask ,并且也没有指定radius 时,会以控件宽高中的较大值为直径绘制水波纹,这样就必然会超出控件的范围,所以,这种效果也叫做 无界水波纹效果。...--无界水波纹效果,所谓无界,实际是以空间宽度或高度中的大值作为直径绘制一个园--> <TextView android:layout_width...--有界水波纹效果。...水波纹效果只在控件内绘制--> <TextView android:layout_width="match_parent"
本文实例为大家分享了Android实现水波纹扩散效果的具体代码,供大家参考,具体内容如下 先上图 ? 囧!没有图片所以就拿了小安代替了。 先看一下如何使用这个View。...<jianpan.com.mybutton.view.RippleDiffuse android:layout_width="200dp" android:layout_height="200dp"...给大了就看不到扩散效果了,给小,给多少的值合适呢?有没有正好的值,有的用父 view 的 size / 子 view 放大的倍数,这样肯定会达到理想的效果。...mWaves.get(position); wave.startAnimation(mAnimas.get(position)); super.handleMessage(msg); } }; 参考地址:Android...实现水波纹外扩效果 以上就是本文的全部内容,希望对大家的学习有所帮助。
介绍:水波纹散开效果的控件在 App 里面还是比较常见的,例如 网易云音乐歌曲识别,附近搜索场景。 看下实现的效果: ?...实现思路: 先将最大圆半径与最小圆半径间距分成几等份,从内到外,Paint 透明度依次递减,绘制出同心圆,然后不断的改变这些同心圆的半径大小,延迟一定时间重绘,便达到了想外散开的动画效果了。
本文实例为大家分享了Android自定义控件实现水波纹的具体代码,供大家参考,具体内容如下 示例代码: MainActivity.java package com.example.mhy.shuibowen...<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com...android.view.MotionEvent; import android.view.View; import java.util.ArrayList; /** * 水波纹效果 * Created...int alpha = w.p.getAlpha(); if(alpha == 0){ wList.remove(i); //删除i 以后,i的值应该再减1 否则会漏掉一个对象,不过,在此处影响不大,效果上看不出来...android.os.Handler; import android.os.Message; import android.util.AttributeSet; import android.view.MotionEvent
前言 水波纹效果大致上可以分为两类,一类是有界水波纹,而另一类是无界水波纹,较为广泛使用的是有界水波纹。...系统自带的水波纹实现 系统自带的方法非常方便,只需要给相应的空间设置背景,背景内容则为系统自带的 selectableItemBackground ,这样的话,水波纹就会在TextView所在的区域内进行绘制...<TextView android:background="?android:attr/selectableItemBackground" ... / 先上效果图 ?...ripple颜色的变化效果要比selector的效果更加柔和,以渐变的形式出现。...foreground设置 现在的点击水波纹效果只有在抬起手指的时候才能看到,不符合一些项目的需求。 其实在控件除了设置background,还可以设置foreground。
本文讲述了Android实现水波纹扩散效果的实例代码。分享给大家供大家参考,具体如下: 项目地址下载 1.效果图: ?...android:id="@+id/rippleImageView" android:layout_width="match_parent" android:layout_height="180dp...*/ private ImageView [] imgs=new ImageView[SIZE]; /**背景图片*/ private ImageView img_bg; /**水波纹和背景图片的大小*...imageViewHeigth)); //添加一个规则 params.addRule(RelativeLayout.CENTER_IN_PARENT,RelativeLayout.TRUE); /**添加水波纹图片...0.5f); } //============================对外暴露的public方法========================================= /** * 开始水波纹动画
动态(水波纹)涟漪效果 1 水波纹效果原理 最近一个做视频滤镜的朋友,让我给他做一个动态水波纹效果,具体就是:点击屏幕上的某一位置,然后波纹以该位置为中心向周围扩散。...模拟物理世界中的水波纹 最后观察出,物理世界中水波纹的特点如上图所示,从水面的正上方往下看,在凹面上方观察到的是缩小效果,而在凸面上方观察到的是放大效果,然后整个水波纹效果就是放大和缩小效果的交叉排列...因此,我们得出结论,水波纹(涟漪)效果实际上就是一组组相互交替、幅度向外部逐渐减小的缩小放大效果组合。 本文将水波纹模型简化成一组放大和缩小效果随时间逐步向外部偏移。...水波纹模型原理 发生形变区域的宽度为固定值 2*u_Boundary ,然后这个形变区域随着 u_Time 的变大逐步向外侧移动,最后就形成了动态的水波纹效果。...2 水波纹效果实现 基于上节的原理分析,实现水波纹效果的主要原理就是实现一定区域内的缩小和放大效果,我们以平滑函数的输出值作为纹理采样坐标的偏移程度。
微信曾经推出了一个查找附近好友的功能,大致功能是这样的:屏幕上有一个按钮,长按按钮的时候,会有一圈圈水波纹的动画向外扩散,松手后,动画结束。...主要用到了下面的蓝色的图片,定义三个ImageView,background都设置为蓝色的图片,然后定义一个包括缩放和透明度变化的动画集,然后每隔一段时间,让3个ImageView依次启动这个动画集,看起来就像蓝色的圆圈像水波纹向外扩散一样...android:id="@+id/normal" android:layout_width="166dp" android:layout_height="166dp" android:...android.os.Handler; import android.os.Message; import android.view.MotionEvent; import android.view.View...clearWaveAnimation() { mWave1.clearAnimation(); mWave2.clearAnimation(); mWave3.clearAnimation(); } } 效果如下
水波纹效果已经不是什么稀罕的东西了,用过5.0新控件的小伙伴都知道这个效果,可是如果使用一个TextView或者Button或者其它普通控件的话,你是否知道如何给它设置水波纹效果呢?...OK,我们今天就来看看这个水波纹效果的实现。水波纹效果的实现有系统自带属性可以实现,我们也可以自定义实现效果。...1.系统自带水波纹实现方式有界水波纹 水波纹效果大致上可以分为两种,一种是有界的,一种无界,我们先来看看有界水波纹效果: 效果: ?.../ 所谓的无界并非完全无界,而是以控件宽高中最大的数值作为水波纹效果所在正方形的边界进行绘制。OK,这两种都是系统自带的水波纹效果,如果我们想要自定义又该怎么做呢?...Ok,这就是5.0中水波纹效果的使用。
article/details/52540251 无意间发现一个问题,在使用 22.2.0 的 design 库时,FloatingActionButton 默认点击时产生水波纹的点击效果...,但是我使用最新版 24.2.0 的 design 库时,它默认点击没有水波纹效果,而且不响应 app:pressedTranslationZ="xxdp" 这个属性。...如果想实现 22.2.0 版本默认的效果,需要加上一个属性: android:clickable="true" 来让它拥有默认点击产生水波纹。...PS: design 库的两个版本的引用方式: // 22.2.0 compile 'com.android.support:design:22.2.0' // 24.2.0 compile 'com.android.support
本文实例为大家分享了RecyclerView实现水波纹点击效果的具体代码,供大家参考,具体内容如下 效果图 ?...<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical...<ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="@color/colorPrimary..." <item android:drawable="@color/write"/ </ripple drawable/recycler_item_selector.xml (v21版本以下的没有水波纹效果...LinearLayoutManager.VERTICAL,false)); mRecyclerView.setAdapter(myAdapter); } } github :RecyclerView水波纹效果
GestureDetector 使用点击无水波纹出现,InkWell可以实现水波纹效果。...1 widget 设置水波纹点击效果 并设置widget背景 ?...默认矩形 color: Colors.purple, child: new InkWell( //点击事件回调 onTap: () {}, //不要在这里设置背景色,for则会遮挡水波纹效果...3 圆角widget 设置自定义水波纹颜色点击效果 ?..., //水波纹的半径 radius: 0.0, //水波纹的颜色 设置了highlightColor属性后 splashColor将不起效果 splashColor: Colors.red
最近需要做个类似于水波纹动画的效果,思考了一下不需要UI切个动态图,Android原生的技术利用动画或者自定义控件都可以实现,下面上个图类似于这样的效果 ?..." / </RelativeLayout 接下来中间的ImageView保持不变,通过操作另外两个ImageView达到效果 private void setAnim1() { AnimationSet...spreadRadius.remove(0); } //中间的圆 canvas.drawCircle(centerX, centerY, radius, centerPaint); //延迟更新,达到扩散视觉差效果...spread_max_radius="90" app:spread_radius="150" app:spread_spread_color="@color/colorAccent" / 以上两种方法就实现了水波纹的效果...源码下载:Android实现水波纹特效 以上就是本文的全部内容,希望对大家的学习有所帮助。
https://blog.csdn.net/lyhhj/article/details/48505041 Android5.0已经出了好久了,但是目前市场上的App好像没有多少用5.0上面的一些效果...今天我们看一下RippleEffect水波纹点击效果,先上图: image.png 大家可以看到按钮或者布局点击的时候会有水波涟漪的效果,很不错,用到你的app上一定会很高大上的。...,越小,得到的水波涟漪效果越慢,也就是radiusMax /=1,这句代码。...android:actionBarSize" android:layout_height="?...android:actionBarSize" android:src="@android:drawable/ic_menu_edit" android:layout_centerInParent
需求 如下,实现一个圆形水波纹,带进度,两层水波纹需要渐变显示,且外围有一个圆弧进度。 ? 思路 外围圆弧进度:可以通过canvas.drawArc()实现。...水波纹的实现:直接使用贝塞尔曲线Path.quadTo()实现,通过拉伸水平直线绘制波浪效果。可以通过控制拉伸点(waveAmplitude)距离水平线的高度,达到波浪高度的控制。...园形的实现:绘制一个完整的圆形,然后通过Path.op()合并裁剪水波纹path。注意点就是Android6有个坑,使用该方法会有明显的抖动,为了解决该问题,我的做法是多画一层圆弧以掩盖此抖动。...num == 0) { sWaveShader } else { fWaveShader } canvas.drawPath(waveCirclePath, wavePaint) } //Fixme android6...自定义球型水波纹带圆弧进度效果(实例代码),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。
先写一个控件 <CheckBox android:text="同意服务协议" android:layout_width="wrap_content" android...:layout_height="wrap_content"/> 运行效果 ?..." android:theme="@style/MyCheckBox"/> 运行效果: ?...这种修改方式是不同于通过background的来切换的,我保留了这个控件选中和取消选中的动画效果,只修改了选中前后的颜色,这种方式是比较好的,android:theme="@style/MyCheckBox...去除选中时的水波纹效果其实一行代码就搞定了,就是把背景值为透明即可,@android:color/transparent 修改布局文件: <CheckBox android:layout_width
有很多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
领取专属 10元无门槛券
手把手带您无忧上云