效果图

示例代码

1.初始化画笔

public WaveView(Context context, AttributeSet attrs) {

super(context, attrs);

mPath = new Path();

mPaint = new Paint();

mPaint.setColor(Color.parseColor("#FF2877DD"));

mPaint.setStyle(Paint.Style.FILL_AND_STROKE);

//随波摇的头像

BitmapFactory.Options options = new BitmapFactory.Options();

options.inSampleSize = 1;

mBitmap = BitmapFactory.decodeResource(context.getResources(), R.drawable.love, options);

}

2.绘制水波纹

@Override

protected void onDraw(Canvas canvas) {

super.onDraw(canvas);

mPath.reset();

int halfWaveLen = mItemWaveLength / 2;

mPath.moveTo(-mItemWaveLength + dx, originY);

int i = -mItemWaveLength;

for (; i <= getWidth() + mItemWaveLength; i += mItemWaveLength) {

mPath.rQuadTo(halfWaveLen / 2, -100, halfWaveLen, 0);

mPath.rQuadTo(halfWaveLen / 2, 100, halfWaveLen, 0);

}

mPath.lineTo(getWidth(), getHeight());

mPath.lineTo(0, getHeight());

mPath.close();

canvas.drawPath(mPath, mPaint);

mRegion = new Region();

float left = getWidth() / 2;

Region clip = new Region((int) (left - 0.01), 0, (int) left, getHeight() * 2);

mRegion.setPath(mPath, clip);

Rect bounds = mRegion.getBounds();

canvas.drawBitmap(mBitmap, bounds.left - mBitmap.getWidth() / 2, bounds.top - mBitmap.getHeight(), mPaint);

}

3.开启动画实现平移

public void startAnim() {

animator = ValueAnimator.ofInt(0, mItemWaveLength);

animator.setDuration(2800);

animator.setRepeatCount(ValueAnimator.INFINITE);

animator.setInterpolator(new LinearInterpolator());

animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {

@Override

public void onAnimationUpdate(ValueAnimator animation) {

dx = (int) animation.getAnimatedValue();

postInvalidate();

}

});

animator.start();

}

android 炫酷特效,Android 特效之炫酷水波纹动画相关推荐

  1. Android自定义水波纹动画Layout

    Android自定义水波纹动画Layout 源码是双11的时候就写好了,但是我觉得当天发不太好,所以推迟了几天,没想到过了双11女友就变成了前女友,桑心.唉不说了,来看看代码吧. 展示效果 Hi前辈 ...

  2. android曲线水波纹录音动画,Android-贝塞尔曲线实现水波纹动画

    Android 系统api提供了quadTo和rQuadTo实现二阶贝塞尔曲线,三阶贝塞尔曲线在这不做阐述,只不过是两个控制点. 效果图 首先看张二阶贝赛尔的曲线 Path path = new Pa ...

  3. Android S 指纹解锁后的水波纹动画

    记录一下bug 由于测试人员对比了R和S的行为,还有Google Pixel6的行为都没有指纹解锁后的蓝色水波纹动画,所以寻找了好久才发现在Android S的SystemUI上多了一个类-AuthR ...

  4. 震惊!原来Android OpenGL ES可以这样用,实现 (水波纹)涟漪效果超惊艳!

    用几行代码实现惊艳的特效. 作者:字节流动 链接:https://juejin.im/post/5ed9c9445188254344768bd6 水波纹效果原理 最近一个做视频滤镜的朋友,让我给他做一 ...

  5. android 自定义菜单栏,GitHub - earthWo/AndroidBottomNavigation: android 底部菜单栏,自定义样式,自定义菜单数量,添加滚动动画和水波纹动画...

    AndroidBottomNavigation 截图 使用方法 gradle: compile 'com.whitelife.library:library:1.0.1' maven: com.whi ...

  6. Android百度地图水波纹动画,高德地图实现水波纹扩散

    功能修改,要求在地图上有个类似雷达的水波纹扩散的动画,通过大半天时间的研究.查找,终于完成了这项任务,话不多说,下面直接贴出代码,供有需要的兄弟参考, 1.首先在地图上画个圆如下图 2.新建个JS / ...

  7. Android 特效之炫酷水波纹动画

    效果图 示例代码 1.初始化画笔 public WaveView(Context context, AttributeSet attrs) {super(context, attrs);mPath = ...

  8. android自定义控件几种,Android 自定义View一个控件搞定多种水波纹涟漪扩散效果 - CSDN博客...

    效果图 实现思路 这个效果实现起来并不难,重要的是思路 此View满足了多种水波纹涟漪扩散效果,这要求它能满足很多的变化 根据上面的样式,可以看出此View需要满足以下变化 圆圈从中心可循环向外扩散 ...

  9. android水波纹动画制作,Framer之事件 | 如何制作安卓点击水波纹效果?

    之前的 Framer 教程都是按照个人喜好去写的,没有按照难易程度形成系列.为了让大家能更好地入门,我准备由易到难写一个系列教程,尽量保持在每周一篇的频率. 导读:事件是 Framer 中的一个重要概 ...

最新文章

  1. mn之间的回文数c语言,c语言描述回文数的三种算法
  2. eix安装_Windwos U盘PE制作与系统安装
  3. 交叉编译_Golang交叉编译
  4. Spark初识-Spark与Hadoop的比较
  5. 1698 -Access denied for user 'root@xxxx'
  6. x86 Assembly Guide
  7. Docker集群的创建与管理
  8. Linux 定时任务 Crontab
  9. 《算法导论》读书笔记之第3章 函数的增长
  10. java中复制图片_2017.5.3 java中 复制图片的4种方式(copy图片只能用字节流对象)...
  11. 水电缴费系统php源码_水电缴费管理系统(示例代码)
  12. 如何把手机证件照压缩到15KB?手机压缩图片方法
  13. Java web项目如何在服务器上跑起来(有源码)
  14. 【软件质量】问题与保证谈论
  15. usb触摸屏驱动移植
  16. 用django实现一个资产管理的系统
  17. android opengl 百度地图,androidsdk | 百度地图API SDK
  18. java 线程 异常中断_java多线程并发之旅-19-InterruptedException 中断异常处理及中断机制...
  19. Swift SnapKit布局注意事项
  20. 创维酷开电视(coocaa tv)应用安装成功,设备重启后应用莫名消失的问题

热门文章

  1. sql查询数据库注释(表及表注释,字段及字段注释)
  2. Android 10.0 framework根据允许app启动白名单限制其他app启动
  3. Java创建JSON对象
  4. php两个json怎么合并,合并两个json字符串
  5. Pytorch 深度学习实战教程(二):UNet语义分割网络
  6. python制作图画_Python也能绘制艺术画?这里有一个完整教程
  7. 机器学习实战之决策树熵的概述
  8. 华为AR1200系列路由器WEB登录服务开启
  9. 【FLY】Android CPU性能优化
  10. 服务器多开专用系统,服务器主机多开!!!!