在Android系统中提供了一种圆形的揭露动画,具体表现为一个view以圆形的形式展开、揭示。所谓揭露动画,就是一种用于 View 之间,甚至界面之间的特殊过渡动画效果。通过ViewAnimationUtils.createCircularReveal方法可以创建一个RevealAnimator动画,代码如下所示:

ViewAnimationUtils.createCircularReveal(

view,

x,//动画开始中心点X

y,//动画开始中心点Y

startR,//开始半径

endR);//结束半径

如上,各参数的意思已做了注释。

接下来通过一个demo来更好的理解它的用法和效果:

首先定义一个布局文件,显示两张图片:

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:gravity="center"

android:orientation="vertical">

android:id="@+id/img_1"

android:layout_width="100dp"

android:layout_height="100dp"

android:src="@drawable/test" />

android:id="@+id/img_2"

android:layout_width="100dp"

android:layout_height="100dp"

android:layout_marginTop="30dp"

android:src="@drawable/test" />

然后为这两张图片添加点击事件:

public void onViewClicked2(View view) {

switch (view.getId()) {

case R.id.img_1:

Animator animator = ViewAnimationUtils.createCircularReveal(

img1,

img1.getWidth() / 2,//动画开始中心点X

img1.getHeight() / 2,//动画开始中心点Y

0,//开始半径

img1.getWidth());//结束半径

animator.setInterpolator(new AccelerateDecelerateInterpolator());

animator.setDuration(1500);

animator.start();

break;

case R.id.img_2:

Animator animator2 = ViewAnimationUtils.createCircularReveal(

img2,

0,

0,

0,

(float) Math.hypot(img2.getWidth(), img2.getHeight()));//根号下x的平方+y的平方

animator2.setInterpolator(new AccelerateDecelerateInterpolator());

animator2.setDuration(1500);

animator2.start();

break;

}

}

运行后点击图片我们可以看到如下效果:

初始效果:

点击第一张图:

点击第二张图:

我们可以根据自己需要的效果来设置动画开始的中心点,以及开始和结束的半径,来实现我们想要的效果。

不光如此,我们还可以为activity的根部局设置揭露动画来实现activity的转场动画。

在新activity的onCreate方法中设置:

llContent.post(new Runnable() {

@Override

public void run() {

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {

Animator animator =  createCircularReveal(llContent,llContent.getWidth()/2,llContent.getHeight()/2,

0, (float) Math.hypot(llContent.getWidth(),llContent.getHeight()),2000);

animator.start();

}

}

});

其中llcontent是根部局,动画开始中心是布局的中心,动画开始半径是0,结束半径是对角线长度的一半,动画时间设置的是2秒,这样在进入activity的时候就可以看到整个布局是由中心向外以圆形的方式展开的。值得注意的是,该动画效果是从Android5.X开始添加的,在使用时我们要注意版本的控制。

乐潮信息www.leco-tec.com原创,引用请表明出处

android刷新时的圆形动画_【Android】圆形揭露动画相关推荐

  1. android刷新时的圆形动画_【Android UI】自定义圆形Loading动画

    1.创建环形loading图片 android:fromDegrees="0" android:toDegrees="360" android:pivotX=& ...

  2. 使用android studio时酷狗音乐,17 Android Studio开发实战:音乐播放器——浪花音乐...

    手机上的多媒体内容讲究声情并茂.悦目且悦耳,这样才能让用户的感官得到最大享受.影视播放器由于存在视频自身的画面,反而限制了开发者的施展空间:而音乐播放器允许定制播放画面,开发者有足够空间施展拳脚.本节 ...

  3. ios开发 方形到圆的动画_画个圆动画,的两种实现。iOS 动画由很浅,入浅,当然是 Swift...

    方法一,使用 CAShapeLayer 和 UIBezierPath 加上 CABasicAnimation 有一个动画属性 strokeEnd 就算完 方法二,复杂一些.频繁调用 CALayer 的 ...

  4. css文字图片动画_文字图像互动动画

    css文字图片动画 Following on from last week's issue (and inspired a bit by receiving the latest Type Direc ...

  5. java登录界面圆形头像_自定义圆形头像

    在很多应用中,我们看到,个人主页里面的头像一般都是圆的,设计成圆的会使整个界面布局变的优雅漂亮.那么,怎么使头像变圆呢?有的人说可以在上面加一个中间为透明圆形的png图,用它来遮盖住头像不就行了嘛,但 ...

  6. ue4 怎么修改骨骼动画_【UE4】动画重定向

    虚幻4动画重定向 重定向虚幻争霸中两个角色,使用同一套动画. 1.首先我们从虚幻商城下载两个角色到项目内.(我这里选择了Wraith.Revenant) 由于需要使用另外的动画,我这里选择将两个骨架的 ...

  7. animator创建动画_为游戏创建动画的基础

    animator创建动画 You can consider animation as the technique or procedure of making the illusion of moti ...

  8. android刷新时的圆形动画_Android 实现倒计时动画效果

    本文没有写作背景,在闲暇之余,想巩固下用到的知识,才有了这篇文章的产出.觉得内容太简单的神们,可以绕道了,不过如果是个神,还是个喷子,可以留下改进建议再走也不迟. 想要实现的效果图如下: 点击&quo ...

  9. android刷新时的圆形动画_Android自定义加载圈动画效果

    本文实例为大家分享了Android自定义加载圈动画展示的具体代码,供大家参考,具体内容如下 实现如下效果: 该效果图主要有3个动画: 1.旋转动画 2.聚合动画 3.扩散动画 以上3个动画都是通过Va ...

最新文章

  1. (转)SpringBoot系列—Redis使用
  2. Springboot中mongodb的使用
  3. linux 怎么重装libaprutil,Apache安装出错_cannot install `libaprutil-1.la' to a directory
  4. 微信被指监听用户,腾讯回应;谷歌意外推送 Android 11 Beta 更新;Linux 5.7 发布 | 极客头条...
  5. 性能爆表缺软件?M1版MacBook真不能装Win10吗
  6. 基于 HTML5 WebGL 的挖掘机 3D 可视化应用
  7. java中同步代码块具体步骤,Java同步块
  8. python content函数_python函数内容
  9. 将数组中的数逆序存放
  10. react-router v6替换history.goBack()和goForward()
  11. python计算英文字符数
  12. C# 静态变量会被gc回收么?
  13. 解决nvcc显示不是内部或外部命令的问题
  14. NXP JN5169 使用红外发送 / 接收
  15. mt管理器逆向了解安卓----【mt管理器介绍】
  16. MS7024 TV Encode digital数字信号转AV/SV配置说明
  17. 【操作系统概念-作业1】Introduction
  18. 用轻量服务器搭建在线协作绘图白板
  19. FLASH按钮链接网页
  20. 对于企业,8种常见的无形资产评估项目

热门文章

  1. Excel使用控件创建动态地图图表
  2. K/3 MRP运算数据不准的原因及解决方案
  3. 深入理解闭包系列第二篇——从执行环境角度看闭包
  4. Linux下安装搭建Memcached集群环境
  5. HBuilder:最快的Web开发IDE
  6. GDB技巧:使用checkpoint解决难以复现的Bug
  7. 深度学习简介(一)——卷积神经网络
  8. 单片机平台的最小偏差圆弧插补算法
  9. 最近的一些校招试题摘录
  10. python打包工具报错_python打包生成exe报错