public class SplashActivity extends BaseActivity { @BindView(R.id.iv_logo) ImageView mIvLogo; @BindView(R.id.tv_name) TextView mTvName; @Override public int getLayoutId() { return R.layout.activty_splash; } @Override public void initPresenter() { } @Override public void initView() { SetTranslanteBar(); PropertyValuesHolder alpha = PropertyValuesHolder.ofFloat("alpha", 0.3f, 1f); PropertyValuesHolder scaleX = PropertyValuesHolder.ofFloat("scaleX", 0.3f, 1f); PropertyValuesHolder scaleY = PropertyValuesHolder.ofFloat("scaleY", 0.3f, 1f); ObjectAnimator objectAnimator1 = ObjectAnimator.ofPropertyValuesHolder(mTvName, alpha, scaleX, scaleY); ObjectAnimator objectAnimator2 = ObjectAnimator.ofPropertyValuesHolder(mIvLogo, alpha, scaleX, scaleY); AnimatorSet animatorSet = new AnimatorSet(); animatorSet.playTogether(objectAnimator1, objectAnimator2); animatorSet.setInterpolator(new AccelerateInterpolator()); animatorSet.setDuration(2000); animatorSet.addListener(new Animator.AnimatorListener() { @Override public void onAnimationStart(Animator animator) { } @Override public void onAnimationEnd(Animator animator) { MainActivity.startAction(SplashActivity.this); finish(); } @Override public void onAnimationCancel(Animator animator) { } @Override public void onAnimationRepeat(Animator animator) { } }); animatorSet.start(); }}
PropertyValuesHolder这个类可以先将动画属性和值暂时的存储起来,后一起执行,在有些时候可以使用替换掉AnimatorSet,减少代码量