您的位置:首页 > 移动开发 > Android开发

Android修改Activity进入和退出的动画

2016-06-16 23:30 489 查看
本博客为博主原创,转载请注明出处: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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android