替自己的应用程序设置切换动画

为自己的应用程序设置切换动画

要想为自己的应用界面切换是值统一的动画效果,在style下设置一个统一的风格,然后再mainfest.xml文件中的aplication 或activity标签中引用改风格即可

如下

1.style文件设置动画效果

<resources xmlns:android="http://schemas.android.com/apk/res/android">

    <style name="AppTheme" parent="@android:style/Theme.Holo" >
        <item name="android:windowTitleBackgroundStyle">@drawable/title_bar</item>
    </style>
    <style name="iphonestyle" parent="@android:style/Theme.Black.NoTitleBar">
       <item name="android:windowAnimationStyle">@style/MyAnimation</item>
       
    </style>
      <style name="MyAnimation">
        <item name="android:activityOpenEnterAnimation">@anim/slide_in_right</item>
        <item name="android:activityOpenExitAnimation">@anim/slide_out_left</item>
        <item name="android:activityCloseEnterAnimation">@anim/slide_in_left</item>
        <item name="android:activityCloseExitAnimation">@anim/slide_out_right</item>
        <item name="android:taskOpenEnterAnimation">@null</item>
        <item name="android:taskOpenExitAnimation">@null</item>
        <item name="android:taskCloseEnterAnimation">@null</item>
        <item name="android:taskCloseExitAnimation">@null</item>
        <item name="android:taskToFrontEnterAnimation">@null</item>
        <item name="android:taskToFrontExitAnimation">@null</item>
        <item name="android:taskToBackEnterAnimation">@null</item>
        <item name="android:taskToBackExitAnimation">@null</item>
        <item name="android:wallpaperOpenEnterAnimation">@null</item>
        <item name="android:wallpaperOpenExitAnimation">@null</item>
        <item name="android:wallpaperCloseEnterAnimation">@null</item>
        <item name="android:wallpaperCloseExitAnimation">@null</item>
        <item name="android:wallpaperIntraOpenEnterAnimation">@null</item>
        <item name="android:wallpaperIntraOpenExitAnimation">@null</item>
        <item name="android:wallpaperIntraCloseEnterAnimation">@null</item>
        <item name="android:wallpaperIntraCloseExitAnimation">@null</item>
        <item name="android:fragmentOpenEnterAnimation">@anim/slide_in_left</item>
        <item name="android:fragmentOpenExitAnimation">@anim/slide_in_right</item>
        <item name="android:fragmentCloseEnterAnimation">@anim/slide_out_left</item>
        <item name="android:fragmentCloseExitAnimation">@anim/slide_out_right</item>
        <item name="android:fragmentFadeEnterAnimation">@null</item>
        <item name="android:fragmentFadeExitAnimation">@null</item>
    </style>

</resources>

解释一下,设两个Activity A,B,

从A界面启动进入B

android:activityOpenEnterAnimation  启动B界面时,B界面进入动画

android:activityOpenExitAnimation 启动B界面时A界面的退出动画

 B按Back键返回A界面

android:activityCloseEnterAnimation A界面恢复动画

android:activityCloseExitAnimation  B界面退出动画

从3.0之后加入的fragment与此类似

 本文为附几个动画文件

界面从左向右滑入

<?xml version="1.0" encoding="utf-8"?>
<set
  xmlns:android="http://schemas.android.com/apk/res/android">
    <translate android:duration="300" android:fromXDelta="-119.99817%" android:toXDelta="0.0" />
</set>

界面从右向左滑入


<set
  xmlns:android="http://schemas.android.com/apk/res/android">
    <translate android:duration="300" android:fromXDelta="119.99817%" android:toXDelta="0.0" />
</set>

左方滑出

<set
  xmlns:android="http://schemas.android.com/apk/res/android">
    <translate android:duration="300" android:fromXDelta="0.0" android:toXDelta="-119.99817%" />
</set>

右方滑出


<?xml version="1.0" encoding="utf-8"?>
<set
  xmlns:android="http://schemas.android.com/apk/res/android">
    <translate android:duration="300" android:fromXDelta="0.0" android:toXDelta="119.99817%" />
</set>