android-Animation进阶(创造用户舒服的动画)

android中经常使用的动画有Animation ,Animator两种;

---第1种经常使用的是使用在Activity切换中.比方打开一个Activity.关闭一个Activity 个人比較喜欢的是左右滑动的效果(至于xml怎样配置Tween动画不在赘述,网上到处都是)

1.启动Activity

        private void gotoRegistActivity() {
		Intent intent=new Intent();
		intent.setClass(getActivity(),RegistActivity.class);
		startActivity(intent);
		getActivity().overridePendingTransition(R.anim.slide_right_in,R.anim.slide_left_out);
	}

2.关闭Activity(这里个人项目做了一个Activity基类,在基类中实现代码)

        @Override
	public boolean onKeyDown(int keycCode, KeyEvent keyEvent) {
		if (keycCode==KeyEvent.KEYCODE_BACK) {
			this.finish();
			overridePendingTransition(R.anim.slide_left_in,R.anim.slide_right_out);
			return true;
		}
		return super.onKeyDown(keycCode, keyEvent);
	}

---Animator配置

<?xml version="1.0" encoding="utf-8"?

> <set xmlns:android="http://schemas.android.com/apk/res/android"> <objectAnimator android:interpolator="@android:interpolator/decelerate_quint" android:valueFrom="200dp" android:valueTo="0dp" android:valueType="floatType" android:propertyName="translationX" android:duration="500" /> <objectAnimator android:interpolator="@android:interpolator/decelerate_quint" android:valueFrom="0.0" android:valueTo="1.0" android:valueType="floatType" android:propertyName="alpha" android:duration="500" /> </set>


2.一般Animator是配置在新的API上,诸如我们熟悉的Fragment里面,网上查找了一下,说是add,remove,前调用,经測试,在FragmentTransaction开启事务后

调用:(下面代码在调用detach()前有效果,slide的xml依据上面的稍稍修改就可以,假设读者想查看东西时间 建议添加动画时间观察):

mTransaction.setCustomAnimations(
					R.anim.slide_frag_in,
					R.anim.slide_frag_out);





原文地址:https://www.cnblogs.com/jzssuanfa/p/7065958.html