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