首页 > 代码库 > android-Animation进阶(创造用户舒服的动画)

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);





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