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原创,引用请表明出处

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值