首先,在anim目录下创建fade_in.xml(淡入),fade_out.xml(淡出)资源文件,
内容为:
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <!-- fromAlpha:开始时的透明度,1.0为百分百透明;toAlpha:结束时的透明度,0.0为百分百不透明;duration:动画持续时间 --> <alpha android:duration="500" android:fromAlpha="1.0" android:toAlpha="0.0" /> </set>
fade_out.xml(淡出)同理:
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <!-- fromAlpha:开始时的透明度,1.0为百分百透明;toAlpha:结束时的透明度,0.0为百分百不透明;duration:动画持续时间 --> <alpha android:duration="500" android:fromAlpha="0.0" android:toAlpha="1.0" /> </set>
使用overridePendingTransition()设置动画
淡出淡入:
overridePendingTransition(R.anim.fade_out,R.anim.fade_in);
淡入淡出:
overridePendingTransition(R.anim.fade_in,R.anim.fade_out);
四个方面进入的方法与淡入淡出一样,只需记住,以屏幕左上角为坐标原点,与之相连的两端屏幕则为坐标轴,即:往右为x轴,且正方向,往下为y轴,往下为正方向,从哪个地方进,从哪个地方出,起始点(from),终止点(to),写出位置即可:
例:
slide_down_in.xml
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <!--上下两个方向,那么起始点距离原点,x轴不变,可以不用管,只看y轴--> <!--从下往上,y轴从100%p到0,反之0到100%p,左右两个方向同理--> <translate android:fromYDelta="100%p" android:toYDelta="0" android:duration="500" /> </set>