今天记录下Activity一个淡入淡出的切换效果
大概效果就是去除了activity的切换动画,感觉很简洁,个人比较喜欢这个效果
直接上效果:
video2gif_0222_175450.gif
先简单说几个属性
android:interpolator:主要作用是可以控制动画的变化速率,比如去实现一种非线性运动的动画效果。那么什么叫做非线性运动的动画效果呢?就是说动画改变的速率不是一成不变的,像加速运动以及减速运动都属于非线性运动。
android:fromAlpha:属性为动画起始时透明度
android:toAlpha:属性为动画结束时透明度
android:duration:动画持续时间,单位毫秒
<1>在res文件夹下建立anim文件夹,建立anim_fade_in.xml和anim_fade_out.xml两个动画资源
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:fromAlpha="0.0" android:toAlpha="1.0"
android:duration="300" />
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:fromXDelta="0" android:toXDelta="0"
android:duration="300" />
<2>在values文件夹下的styles.xml中的resources标签内自定义style样式
@style/anim_fade
true
@anim/anim_fade_in
@anim/anim_fade_out
@anim/anim_fade_in
@anim/anim_fade_out
<3>最后在AndroidManifest.xml中的application添加android:theme="@style/AnimActivity"就可以了,在application标签中添加则为全局效果,也可以再某个activity添加,则为单独效果
其实网上也有用overridePendingTransition()方法的,我个人不是很喜欢,这个还得写到BaseActivty中做一个全局效果,个人喜欢吧.
简单说下:
overridePendingTransition(int enterAnim,int exitAnim)
//enterAnim:进入时的动画 exitAnim:退出时的动画
注:这个方法必须放在startActivity和finish之后才能调用