Circular Reveal这个动画效果具体的表现为一个View以一个圆形的样子展示出来、ViewAnimationUtils.createCircularReveal()方法就可以创建一个Circular Reveal动画
iv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Animator anim = ViewAnimationUtils.createCircularReveal(iv,iv.getWidth()/2,iv.getWidth()/2,0,iv.getWidth());
anim.setDuration(6000);
anim.start();
}
});
createCircularReveal()五个参数的意思
第一个:动画作用于哪一个控件
第二个:动画开始的中心点X
第三个:动画开始的中心点Y
第四个:动画开始的半径
第五个:动画结束的半径
Tips:当点击这个控件之后,这个控件就会从一个0半径的小圆慢慢扩大到半径是iv.getWidth()半径的大圆。然后显示出来。这个结束的半径为什么不是iv.getWidth()/2呢,这里解释一下。安卓中的控件都是矩形。假如说这个的iv是一个正方形。他的内接圆半径是iv.getWidth()/2。如果结束的半径设置为iv.getWidth()/2。就会画圆划到内切圆之后,四个角还没有显示出来。这是动画结束,突然显示出来四个角,给人的感觉不好,所以这里设置了iv.getWidth(),远远大于这个控件的外切圆半径,就不会出现突兀感了。
5.0很多新特性低版本没法实现,一些兼容低版本的链接。
Material Designer的低版本兼容实现——View & Animation