Android 动画-CircularReveal

CircularReveal是MaterialDesign下的内容,也就是Android 5.0 API >= 21才能使用的。

一、实现

这里写图片描述

效果如上,是一个点击涟漪的感觉。代码实现也很简单:

Animator anim = ViewAnimationUtils.createCircularReveal(
                view, 
                (int) event.getX(),
                (int) event.getY(),
                 0,
                (float) Math.hypot(v.getWidth(), v.getHeight()));
        anim.setDuration(1000);  
        anim.setInterpolator(new AccelerateDecelerateInterpolator());
        anim.start();

可见主要代码是createCircularReveal

public static Animator createCircularReveal (View view, int centerX,int centerY, float startRadius, float endRadius)

参数说明:

  1. View view, 指定了为哪个View执行动画
  2. int centerX, 涟漪效果的中心x轴位置
  3. int centerY, 涟漪效果的中心y轴位置
  4. float startRadius, 开始的半径
  5. float endRadius, 结束的半径

很简单的实现吧,但是这么简单代码在项目中可应用的效果还是不错的,上面的效果算是一个抛砖引玉吧,来看下实际应用的效果:

这里写图片描述

顶部的SearchView和底部的BottomNavigation都实现了这样的效果。

栗子详细代码,请点这里~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,008评论 25 708
  • 系列文章之 Android中自定义View(一)系列文章之 Android中自定义View(二)系列文章之 And...
    YoungerDev阅读 4,458评论 3 11
  • 我的拖延症是不是没救了。 这个我不知道。 真的是时不待我。当我整理好心情,终于承认2014已经过去了的时候,看看日...
    泋小溪阅读 341评论 0 1
  • 文字:若木菡 摄影:若木菡 花间一壶酒 花醉语不休 应是花太艳 非为酒太酽
    若木菡阅读 244评论 0 8
  • 这本书是原新东方明星老师乐静为大家精心挑选的,如果你打算看第一本英文原版书,它就非常适合你。本书的副标题是“Ho...
    陋室鳴阅读 905评论 0 2