本篇用于记录Activity从左进入的练习以及总结。文章中涉及的代码及方法参考以下文章:
http://blog.csdn.net/jdsjlzx/article/details/43736707
以下是自己总结的重点。
其实Activity从左进入的重要点在于在Manifest文件中给想要添加特效的Activity添加主题Theme。而主题里我们可以设置相应的动画,下面就Activity从左进入的方式代码,分析主要的几点。
首先就是主题的设置了。在styles.xml文件下,我们可以配置自己想要的主题,以下是styles.xml中的代码
<resources><style name="AppBaseTheme" parent="android:Theme.Light">
</style>
<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
<!-- All customizations that are NOT specific to a particular API-level can go here. -->
<!-- 设置没有标题 -->
<item name="android:windowNoTitle">true</item>
<!-- 设置activity切换动画 -->
<item name="android:windowAnimationStyle">@style/activityAnimation</item>
</style>
<!-- animation 样式 -->
<style name="activityAnimation" parent="@android:style/Animation">
<item name="android:activityOpenEnterAnimation">@anim/slide_right_in</item>
<item name="android:activityOpenExitAnimation">@anim/slide_left_out</item>
<item name="android:activityCloseEnterAnimation">@anim/slide_left_in</item>
<item name="android:activityCloseExitAnimation">@anim/slide_right_out</item>
</style>
</resources>
其中,AppTheme是我们自定义主题的名字,可以随意设置,在其中设置一项activity切换动画属性,windowAnimationStyle,属性的样式使用我们自定的activityAnimation。
之后在定义一种style来规定我们的动画是什么样的。代码中对应的四个属性分别是打开进入Activity动画,打开已存在Activity动画等等,大家可以自己尝试一下效果就清楚了。
而随后附上的效果也是我们自己定义的动画效果,在res的anim文件夹下设置set类型的xml。以其中一个为例:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
android:duration="200"
android:fromXDelta="-100.0%p"
android:toXDelta="0.0" />
</set>
这就是一个set类型的xml,translate决定动画的效果,有时间与移动方向等等属性,这些效果都需要自己尝试才能明白。
这几个文件设置好之后就比较简单了,只需在Manifest文件中给Activity配好主题,主题中设置好相应动画效果,我们在Activity中启动另一个带有主题的Activity时就可以看到效果了。
这是博主的第一篇文章,内容虽简单,但也是学习与收获,总有一天,会慢慢成为大神的哈哈!