先上效果图:

自定义波浪View:

通过正余弦自定义View 实现水波浪效果:

 double ω = 2 * Math.PI / getWidth();mAbovePath.moveTo(getLeft(), getBottom());mBelowWavePath.moveTo(getLeft(), getBottom());for (float x = 0; x <= getWidth(); x += 20) {y = (float) (rangeY * Math.cos(ω * x + φ) + 8);y2 = (float) (rangeY * Math.sin(ω * x + φ));mAbovePath.lineTo(x, y);mBelowWavePath.lineTo(x, y2);//回调 把y坐标的值传出去(在activity里面接收让图片随波浪一起摇摆)if (mWaveAnimationListener != null)mWaveAnimationListener.OnWaveAnimation(y);}mAbovePath.lineTo(getRight(), getBottom());mBelowWavePath.lineTo(getRight(), getBottom());canvas.drawPath(mAbovePath, mAboveWavePaint);canvas.drawPath(mBelowWavePath, mBelowWavePaint);

在Activity中监听自定义view的波动幅度,使图片随着上下浮动;

demo下载地址

点击打开链接

http://download.csdn.net/download/shanshan_1117/10255755

自定义波浪View,使头像跟着波浪背景浮动相关推荐

  1. Android自定义View-一个可可爱爱的波浪特效

    1. 概述 最近开始学习自定义View,看到现在公司项目上的一个动画效果,顿时想到其实可以自己画,于是就开始着手优(zhuang)化(bi)这个动画. 动画如下: 其实很简单对不对,但初学者的我还是要 ...

  2. 自定义view圆形头像

    自定义view圆形头像 我已经将源码打包成依赖 朋友们可以直接导依赖直接使用 1.正常导入: implementation 'com.github.LiHangKun:wuyuewuone:1' im ...

  3. 考题:自定义组合view,如图三所示,包含昵称、头像和手机号

    自定义view制作头像 以下是:自定义组合View 1.先写一个MyViewGroup类 让他继承ViewGroup的类 其他的什么都先不管 2.现在写自定义组合view想要实现的效果 3.接着写

  4. Android中View(视图)绘制不同状态背景图片原理深入分析以及StateListDrawable使用详解...

    2019独角兽企业重金招聘Python工程师标准>>> 今天继续给大家分享下View的相关知识,重点有一下两点:   1.View的几种不同状态属性            2.如何根 ...

  5. Android XML中引用自定义内部类view的四个why

    今天碰到了在XML中应用以内部类形式定义的自定义view,结果遇到了一些坑.虽然通过看了一些前辈写的文章解决了这个问题,但是我看到的几篇都没有完整说清楚why,于是决定做这个总结. 使用自定义内部类v ...

  6. Android中View绘制各种状态的背景图片原理深入分析以及StateListDrawable使用

    /* Call this to force a view to update its drawable state. This will cause drawableStateChanged to b ...

  7. Android中自定义视图View

    标签: 前言 好长时间没写blog了,心里感觉有点空荡荡的,今天有时间就来写一个关于自定义视图的的blog吧.关于这篇blog,网上已经有很多案例了,其实没什么难度的.但是我们在开发的过程中有时候会用 ...

  8. Android中自定义视图View之---前奏篇

    前言 好长时间没写blog了,心里感觉有点空荡荡的,今天有时间就来写一个关于自定义视图的的blog吧.关于这篇blog,网上已经有很多案例了,其实没什么难度的.但是我们在开发的过程中有时候会用到一些自 ...

  9. 【Android开发】用户界面设计-开发自定义的View

    效果图: Android中,所有的UI界面都是由View类和ViewGroup类及其子类组合而成的.View是所有UI组件的基类(父类),为ViewGroup类是容纳这些UI组件的容器,其本身也是Vi ...

最新文章

  1. 数据挖掘(Data Mining)| 数据分析建模理论基础
  2. 「无心插柳柳成荫」的乔姆斯基 | 追溯 AI 大师系列
  3. 记得ajax中要带上AntiForgeryToken防止CSRF攻击
  4. leetcode算法题--重排链表★
  5. redis缓存穿透、缓存雪崩、缓存击穿、并发竞争
  6. java与java ee_使用Java EE的ManagedExecutorService异步执行事务
  7. arduino读取水位传感器的数据显示在基于i2c的1602a上_XSB-IC-S2智能水位监测仪-老友网...
  8. 新手关于如何看编程经典书的一些疑惑?
  9. ubuntu 16.04下git的安装与使用
  10. **关于小程序测试版本自己的头像与数据不显示问题**
  11. BOM 定时器+回调函数
  12. Windows 10配置CUDA 9.2
  13. 网站后缀名html,网页后缀名有哪些
  14. 明日方舟公式计算机,【科普向】明日方舟里的伤害计算公式
  15. OSPF/2/NBRCHG:The status of the non-virtual neighbor changes.
  16. EXCEPTION_ACCESS_VIOLATION
  17. IBM X3550 m4 微码升级
  18. MEM/MBA 英语强化(01)完形填空
  19. UPS=蓄电池+逆变器?
  20. 不看后悔的行货iPhone资费大PK(转载)

热门文章

  1. 详解u盘装系统启动不了怎么办
  2. excel表格横向纵向变换_什么是报表工具?和 EXCEL 有什么区别?
  3. 零基础 学 python开发 (Genius套餐A) 四十一
  4. 计算n阶逆矩阵的C语言实现
  5. mac pro M1(ARM)安装:ubuntu虚拟机(四)
  6. 什么蓝牙耳机适合打游戏?打游戏不延迟的蓝牙耳机推荐
  7. UPC-多项式的输出
  8. 三位整数拆分python_343整数拆分
  9. 中国游戏媒体市场动态前景与竞争策略分析报告(2021-2026年)
  10. 微信小程序调用地图和跟据经纬度打开手机地图导航