android刷新时的圆形动画_【Android】圆形揭露动画
在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】圆形揭露动画相关推荐
- android刷新时的圆形动画_【Android UI】自定义圆形Loading动画
1.创建环形loading图片 android:fromDegrees="0" android:toDegrees="360" android:pivotX=& ...
- 使用android studio时酷狗音乐,17 Android Studio开发实战:音乐播放器——浪花音乐...
手机上的多媒体内容讲究声情并茂.悦目且悦耳,这样才能让用户的感官得到最大享受.影视播放器由于存在视频自身的画面,反而限制了开发者的施展空间:而音乐播放器允许定制播放画面,开发者有足够空间施展拳脚.本节 ...
- ios开发 方形到圆的动画_画个圆动画,的两种实现。iOS 动画由很浅,入浅,当然是 Swift...
方法一,使用 CAShapeLayer 和 UIBezierPath 加上 CABasicAnimation 有一个动画属性 strokeEnd 就算完 方法二,复杂一些.频繁调用 CALayer 的 ...
- css文字图片动画_文字图像互动动画
css文字图片动画 Following on from last week's issue (and inspired a bit by receiving the latest Type Direc ...
- java登录界面圆形头像_自定义圆形头像
在很多应用中,我们看到,个人主页里面的头像一般都是圆的,设计成圆的会使整个界面布局变的优雅漂亮.那么,怎么使头像变圆呢?有的人说可以在上面加一个中间为透明圆形的png图,用它来遮盖住头像不就行了嘛,但 ...
- ue4 怎么修改骨骼动画_【UE4】动画重定向
虚幻4动画重定向 重定向虚幻争霸中两个角色,使用同一套动画. 1.首先我们从虚幻商城下载两个角色到项目内.(我这里选择了Wraith.Revenant) 由于需要使用另外的动画,我这里选择将两个骨架的 ...
- animator创建动画_为游戏创建动画的基础
animator创建动画 You can consider animation as the technique or procedure of making the illusion of moti ...
- android刷新时的圆形动画_Android 实现倒计时动画效果
本文没有写作背景,在闲暇之余,想巩固下用到的知识,才有了这篇文章的产出.觉得内容太简单的神们,可以绕道了,不过如果是个神,还是个喷子,可以留下改进建议再走也不迟. 想要实现的效果图如下: 点击&quo ...
- android刷新时的圆形动画_Android自定义加载圈动画效果
本文实例为大家分享了Android自定义加载圈动画展示的具体代码,供大家参考,具体内容如下 实现如下效果: 该效果图主要有3个动画: 1.旋转动画 2.聚合动画 3.扩散动画 以上3个动画都是通过Va ...
最新文章
- (转)SpringBoot系列—Redis使用
- Springboot中mongodb的使用
- linux 怎么重装libaprutil,Apache安装出错_cannot install `libaprutil-1.la' to a directory
- 微信被指监听用户,腾讯回应;谷歌意外推送 Android 11 Beta 更新;Linux 5.7 发布 | 极客头条...
- 性能爆表缺软件?M1版MacBook真不能装Win10吗
- 基于 HTML5 WebGL 的挖掘机 3D 可视化应用
- java中同步代码块具体步骤,Java同步块
- python content函数_python函数内容
- 将数组中的数逆序存放
- react-router v6替换history.goBack()和goForward()
- python计算英文字符数
- C# 静态变量会被gc回收么?
- 解决nvcc显示不是内部或外部命令的问题
- NXP JN5169 使用红外发送 / 接收
- mt管理器逆向了解安卓----【mt管理器介绍】
- MS7024 TV Encode digital数字信号转AV/SV配置说明
- 【操作系统概念-作业1】Introduction
- 用轻量服务器搭建在线协作绘图白板
- FLASH按钮链接网页
- 对于企业,8种常见的无形资产评估项目