Android 全局Activity动画设置
1. Android在2.0后添加了动画的设置,可以很简单的实现Activity之间的切换
Intent intent = new Intent();
intent.setClass(ActivitySwitchDemoActivity.this, SecondActivity.class); startActivity(intent); //设置切换动画,从右边进入,左边退出,带动态效果
overridePendingTransition(R.anim.new_dync_in_from_right, R.anim.new_dync_out_to_left);
要在每一个Activity的跳转时都要添加这样一句话,虽然不复杂,但是还是很麻烦很难维护.
2. google了一下发现了以下这种简单快捷的方式:
以类似iPhone的进出效果为例:
anim_enter.xml 新的activity创建进入效果
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="" > <translate android:duration="200" android:fromXDelta="0.0" android:toXDelta="-100.0%p" /> </set>
anim_exit.xml activity还没有finish()下退出效果
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="" > <translate android:duration="200" android:fromXDelta="100.0%p" android:toXDelta="0.0" /> </set>
back_enter.xml上一个activity返回进入效果
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="" > <translate android:duration="200" android:fromXDelta="-100.0%p" android:toXDelta="0.0" /> </set>
back_exit.xml activity finish()之后退出效果
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="" > <translate android:duration="200" android:fromXDelta="0.0" android:toXDelta="100.0%p" /> </set>
在style.xml里定义该动画样式
<style name="ThemeActivity">
<item name="android:windowAnimationStyle">@style/AnimationActivity</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowBackground">@color/white</item> <!-- 这里可以将所有的Activity的背景设置为白色-->
</style>
<style name="AnimationActivity" parent="@android:style/Theme.Light.NoTitleBar">
<item name="android:activityOpenEnterAnimation">@anim/anim_enter</item>
<item name="android:activityOpenExitAnimation">@anim/anim_exit</item>
<item name="android:activityCloseEnterAnimation">@anim/back_enter</item>
<item name="android:activityCloseExitAnimation">@anim/back_exit</item>
</style>
最后一步,在Manifest的application标签里进行设置:
android:theme="@style/ThemeActivity"
浙公网安备 33010602011771号