本博客为博主原创,转载请注明出处:http://blog.csdn.net/u014434965/article/details/51695398
大多数的android手机Activity进入和退出都是从右边进入和退出的,朝左边进入朝右边退出。
然而在开发项目的过程中有些时候需要对这个动画进行修改,改变Activity的样式,已达到美观效果。
今天就来实现下,就以Activity的淡入和淡出为效果来进行示例:
既然要Activity进行淡入和淡出那么首先来定义两个动画—淡入和淡出
i、在res文件夹下面创建一个anim文件夹然后再里面创建两个xml动画文件
activity_alpha_in.xml:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha
android:fromAlpha="0.0"
android:toAlpha="1.0"
android:duration="200"
></alpha>
</set>
activity_alpha_out.xml:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha
android:duration="200"
android:fromAlpha="1.0"
android:toAlpha="0.0"
></alpha>
</set>
定义好了相关的动画后,就是在value文件夹下的style.xml文件中修改相关的样式
首先将前面的定义的淡入和淡出动画设置到Animation.Activity下面:
<!--初步设置activity进入和退出的动画-->
<style name="activity_fade_in_out" parent="android:Animation.Activity">
<item name="android:activityCloseExitAnimation">@anim/activity_alpha_out</item>
<item name="android:activityCloseEnterAnimation">@anim/activity_alpha_out</item>
<item name="android:activityOpenExitAnimation">@anim/activity_alpha_in</item>
<item name="android:activityOpenEnterAnimation">@anim/activity_alpha_in</item>
</style>
然后将这个style设置到当前项目用到的主题Theme下我这里用到了android:Theme.Black.NoTitleBar这个主题
<style name="fade_in_out_theme" parent="android:Theme.Black.NoTitleBar">
<item name="android:windowAnimationStyle">@style/activity_fade_in_out</item>
</style>
这个时候主题中关于activity的进入和退出的样式就修改完了,最后就是将修改完的主体引入到你的项目中
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.custom.test"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="10"
android:targetSdkVersion="10" />
<application
android:name=".IshehuiSeoulApplication"
android:allowBackup="true"
android:icon="@drawable/icon"
android:label="@string/app_name"
android:largeHeap="true"
android:supportsRtl="true"
android:theme="@android:style/Theme.Black.NoTitleBar"
tools:replace="android:name">
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/fade_in_out_theme" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>