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)
参数说明:
- View view, 指定了为哪个View执行动画
- int centerX, 涟漪效果的中心x轴位置
- int centerY, 涟漪效果的中心y轴位置
- float startRadius, 开始的半径
- float endRadius, 结束的半径
很简单的实现吧,但是这么简单代码在项目中可应用的效果还是不错的,上面的效果算是一个抛砖引玉吧,来看下实际应用的效果:
这里写图片描述顶部的SearchView和底部的BottomNavigation都实现了这样的效果。
网友评论