Android利用Theme自定义Activity间的切换动画
程序员文章站
2024-03-06 14:21:02
大多android系统默认activity间的动画切换效果为,右边滑入,左边滑出;有时候我们的需求可能是要求所有activity的切换为淡入淡出的效果,这时候就可能需要改变...
大多android系统默认activity间的动画切换效果为,右边滑入,左边滑出;有时候我们的需求可能是要求所有activity的切换为淡入淡出的效果,这时候就可能需要改变一下默认的切换风格。
下面开始实现:
首先在res文件夹下建立anim文件夹,然后在里面建立fade_in.xml和fade_out.xml两个动画资源
fade_in.xml
<?xml version="1.0" encoding="utf-8"?> <alpha xmlns:android="http://schemas.android.com/apk/res/android" android:duration="300" android:fromalpha="0.0" android:interpolator="@android:anim/accelerate_interpolator" android:toalpha="1.0" />
fade_out.xml
<?xml version="1.0" encoding="utf-8"?> <alpha xmlns:android="http://schemas.android.com/apk/res/android" android:duration="300" android:fromalpha="1.0" android:interpolator="@android:anim/accelerate_interpolator" android:toalpha="0.0" />
然后在values文件夹下的styles.xml中的resources标签内写:
<style name="anim_fade" parent="android:theme.notitlebar"> <item name="android:windowanimationstyle">@style/fade</item> </style> <style name="fade" parent="@android:style/animation.activity"> <item name="android:activityopenenteranimation">@anim/fade_in</item> <item name="android:activityopenexitanimation">@anim/fade_out</item> <item name="android:activitycloseenteranimation">@anim/fade_in</item> <item name="android:activitycloseexitanimation">@anim/fade_out</item> </style>
最后一步在androidmanifest.xml中的activity的声明上加入android:theme="@style/anim_fade"
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.customanimationforactivity" android:versioncode="1" android:versionname="1.0" > <uses-sdk android:minsdkversion="10" android:targetsdkversion="10" /> <application android:allowbackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@android:style/theme.notitlebar" > <activity android:name="com.example.customanimationforactivity.mainactivity" android:label="@string/app_name" android:theme="@style/anim_fade" > <intent-filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent-filter> </activity> <activity android:name=".appactivity" android:theme="@style/anim_fade" > </activity> </application> </manifest>
贴下splash activity的代码:
package com.example.customanimationforactivity; import android.app.activity; import android.content.intent; import android.os.bundle; import android.os.handler; public class mainactivity extends activity { private handler handler = new handler(); @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); handler.postdelayed(new runnable() { @override public void run() { intent intent = new intent(mainactivity.this, appactivity.class); startactivity(intent); finish(); } }, 1000); } }
源码下载:http://xiazai.jb51.net/201609/yuanma/customanimation(jb51.net).rar
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
推荐阅读
-
Android利用Theme自定义Activity间的切换动画
-
Android使用Theme自定义Activity进入退出动画的方法
-
Android使用Theme自定义Activity进入退出动画的方法
-
Android 入门第十讲02-广播(广播概述,使用方法(系统广播,自定义广播,两个activity之间的交互和传值),EventBus使用方法,数据传递,线程切换,Android的系统广播大全)
-
Android实现Activity界面切换添加动画特效的方法
-
Android 入门第十讲02-广播(广播概述,使用方法(系统广播,自定义广播,两个activity之间的交互和传值),EventBus使用方法,数据传递,线程切换,Android的系统广播大全)
-
Android实现Activity界面切换添加动画特效的方法
-
Android的Activity屏幕切换动画(一)-左右滑动切换
-
Android的Activity屏幕切换动画左右滑动切换
-
Android 自定义activity切换动画实现,overridePendingTransition的使用详解