动画要求
1、弹窗以图标为中心缩放(指的为指定的坐标点),从60%放大到100%
2、弹窗不透明度从0%到100%
3、动画执行时间300ms
逻辑实现
private void scaleX(View view) {
//这里是反着来的,所以加上弹框的宽度
view.setPivotX(getLeft() + getWidth());//设置view的支点x位置
view.setPivotY(64);//设置view的支点y位置
//放大动画
ObjectAnimator animator1 = ObjectAnimator.ofFloat(view, "scaleX", 0.6f, 1f);
ObjectAnimator animator2 = ObjectAnimator.ofFloat(view, "scaleY", 0.6f, 1f);
//透明动画
ObjectAnimator animator3 = ObjectAnimator.ofFloat(view, "alpha", 0f, 1f);
AnimatorSet set = new AnimatorSet();
set.playTogether(animator1, animator2, animator3);
set.setDuration(300);
set.start();
}
主要是设置好view开始的支点位置,然后再执行对应的动画
下面为动画效果,实际可以根据要求调慢动画时间查看对应效果