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);
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。