概述:随着Android手机的更新迭代,高版本自带转场动画,但是为了跟好的用户体验,以及产品差异化的体现,如果产品需要我们自己设计一套转场动画,我们又该如何实现呢
当然转场动画的实现方式有多种,接下来我们来实现一款全局的转场动画,也就是通过设置主题来达到转场动画的效果
首先我们需要准备在res文件下新建anim文件包,然后分别创建slide_in_from_right 、slide_out_to_left slide_out_to_right、slide_in_from_left的xml文件
首先当我们跳转到一个新的Activity,让新的Activity从右边的屏幕进入,被跳转的Activity界面从当前位置向左边移出屏幕
文件分别是slide_in_from_right,slide_out_to_left,此时是Activity被打开的情况下
关闭当前界面,当前的Activity从显示位置向右移出屏幕,被展示的Activity从屏幕的左边进入到屏幕,此时的文件分别是slide_out_to_right,slide_in_from_left
接着上面的分析,我们在具体的编写上面的文件就容易多了
首先 slide_in_from_right.xml
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:duration="300"
android:fromXDelta="100%p"
android:toXDelta="0"/>
</set>
接着 slide_out_to_left.xml
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:duration="300"
android:fromXDelta="0"
android:toXDelta="-100%p"/>
</set>
slide_out_to_right.xml
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:duration="300"
android:fromXDelta="0"
android:toXDelta="100%p"/>
</set>
slide_in_from_left.xml
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:duration="300"
android:fromXDelta="-100%p"
android:toXDelta="0"/>
</set>
现在上面的四个文件都写完了,接下来我们来使用下上面的文件
<style name="AnimFade" parent="@android:style/Animation.Activity">
<item name="android:activityOpenEnterAnimation">@anim/slide_in_from_right</item>
<item name="android:activityOpenExitAnimation">@anim/slide_out_to_left</item>
<item name="android:activityCloseExitAnimation">@anim/slide_out_to_right</item>
<item name="android:activityCloseEnterAnimation">@anim/slide_in_from_left</item>
</style>
这样我们的转场动画也就实现呢,但千万别忘了最后一步,我们需要把上面的style配置的放进我们的主题,接下来我们在我们已有的主题下写入以下的配置
<item name="android:windowAnimationStyle">@style/AnimFade </item>
这样我们的主题也就设置成功了....
网友评论