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"

 

posted @ 2015-04-08 10:58  WisonWang  阅读(1223)  评论(0)    收藏  举报