如图:
原谅我不会设置它的大小。。
设置Activity
跳转效果只有两步:
步骤一
首先需要在/res/anim
文件夹中创建四个动画效果,分别为
- 打开
Activity
时,新进入Activity
执行的动画
<!--open_enter.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%"
android:toXDelta="0%" />
</set>
- 打开
Activity
时,原Activity
执行的动画
<!--open_exit.xml-->
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<!--缩放动画-->
<scale
android:duration="@integer/anim_duration"
android:fromXScale="1.0"
android:fromYScale="1.0"
android:pivotX="50%"
android:pivotY="50%"
android:toXScale="0.8"
android:toYScale="0.8" />
</set>
- 退出
Activity
时,退出的Activity
执行的动画
<!--open_exit.xml-->
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<!--平移动画-->
<translate
android:duration="@integer/anim_duration"
android:fromXDelta="0%"
android:toXDelta="100%"/>
</set>
- 退出
Activity
时,重新显示的Activity
执行的动画
<!--close_enter.xml-->
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<!--缩放动画-->
<scale
android:duration="@integer/anim_duration"
android:fromXScale="0.8"
android:fromYScale="0.8"
android:pivotX="50%"
android:pivotY="50%"
android:toXScale="1.0"
android:toYScale="1.0" />
</set>
上面的动画效果仅为示范,在具体开发过程中应根据实际需求去定义动画效果。
步骤二
在/res/values/styles.xml
文件中创建一个AnimationActivity
样式以实现Activity
切换效果,同时给AppTheme
的windowAnimationStyle
设置上该切换样式。
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimaryDark">@color/mainColor</item>
<item name="colorPrimary">@color/mainColor</item>
<item name="colorAccent">@color/mainColor</item>
<item name="android:windowAnimationStyle">@style/AnimationActivity</item>
</style>
<!--Activity 切换效果-->
<style name="AnimationActivity" parent="@android:style/Animation.Activity">
<!--打开Activity时,新进入Activity执行的动画-->
<item name="android:activityOpenEnterAnimation">@anim/open_enter</item>
<!--打开Activity时,原Activity执行的动画-->
<item name="android:activityOpenExitAnimation">@anim/open_exit</item>
<!--退出Activity时,退出的Activity执行的动画-->
<item name="android:activityCloseExitAnimation">@anim/close_exit</item>
<!--退出Activity时,重新显示的Activity执行的动画-->
<item name="android:activityCloseEnterAnimation">@anim/close_enter</item>
</style>
网友评论