Android Activity的切换动画

app中Activity之间跳转方式太单调有没有。。。想改变一下?那就自己写呗!!!!!!

实现Acitvity之间跳转的方式有两种。

一、在AndroidManifest中定义。

1、现在res/values/styles.xml中加上一个style,如下

?


1

2

3

4

<style name="AppTheme"mce_bogus="1"parent="
@android :style/Theme.Light">

<item name="android:windowAnimationStyle">@style/default_animation</item>

<item name="android:windowNoTitle">true</item>

</style>

<item name="android:windowNoTitle">true</item>这一句是要隐藏标题栏,因为动画的范围是包括标题栏的,这个可选。

<item name="android:windowAnimationStyle">@style/default_animation</item>作用就是指定一个动画文件。所以要在定义一个style(同样在res/values/styles.xml,也可以另外新建一个xml)

定义的style如下

?


1

2

3

4

5

6

7

<!-- 默认Activity跳转动画 -->

<style name="default_animation"mce_bogus="1"parent="
@android :style/Animation.Activity">

<item name="android:activityOpenEnterAnimation">@anim/default_anim_in</item>

<item name="android:activityOpenExitAnimation">@anim/anim_stay</item>

<item name="android:activityCloseEnterAnimation">@anim/anim_stay</item>

<item name="android:activityCloseExitAnimation">@anim/default_anim_out</item>

</style>

然后就是在res/anim文件夹中定义对应的动画文件default_anim_in,anim_stay, 
default_anim_out。

4个item分别代表

Activity A跳转到Activity B时Activity B进入动画;

Activity A跳转到Activity B时Activity A退出动画;

Activity B返回Activity A时Activity A的进入动画

Activity B返回Activity A时ActivityB的退出动画

最后一步就是在AndroidManifest中加上这些动画。

?


1

2

3

4

<application

android:icon="@drawable/logo"

android:label="@string/app_name"

android:theme="@style/AppTheme">

这样就可以了。在activity中定义的方法同aplication,在application中定义会作用在全部activity,如果在activity中也定义了一个动画的话就会覆盖application中定义的动画。

下面附送default_anim_in,anim_stay,default_anim_out三个动画文件(实现QQ的跳转动画——渐变切换)。

default_anim_in

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

<?xml version="1.0"encoding="utf-8"?>

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

<scale

android:duration="200"

android:fromXScale="0.7"

android:fromYScale="0.7"

android:interpolator="@android:anim/accelerate_decelerate_interpolator"

android:pivotX="50%"

android:pivotY="50%"

android:toXScale="1"

android:toYScale="1"/>

<alpha

android:duration="200"

android:fromAlpha="0"

android:toAlpha="1.0"/>

</set>

default_anim_out

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

<?xml version="1.0"encoding="utf-8"?>

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

<scale

android:duration="200"

android:fromXScale="1"

android:fromYScale="1"

android:interpolator="@android:anim/accelerate_decelerate_interpolator"

android:pivotX="50%"

android:pivotY="50%"

android:toXScale="0.7"

android:toYScale="0.7"/>

<alpha

android:duration="200"

android:fromAlpha="1"

android:toAlpha="0"/>

</set>

anim_stay

?


1

2

3

4

5

6

7

8

9

<?xml version="1.0"encoding="utf-8"?>

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

<translate

android:duration="500"

android:fromXDelta="0"

android:fromYDelta="0"

android:toXDelta="0"

android:toYDelta="0"/>

</set>

二、代码中实现

要实现跳转动画同样可以在代码中哦跟实现。

Activity A跳转到Activity B,要在startActivity(intent)后面加上overridePendingTransition(R.anim.anim_in, R.anim.anim_out);

Activity B返回Activity A,要在finish()后面加上overridePendingTransition(R.anim.anim_in, R.anim.anim_out);

anim_in是进入的Activity的动画,anim_out是退出的Activity的动画。

over!!!!

时间: 10-04

Android Activity的切换动画的相关文章

Android Activity的切换动画(overridePendingTransition)

overridePendingTransition 1.平时Activity的切换是就是从中间弹出来,然后遮盖住之前的Activity.这种效果看到很多后就想给他换成其他的效果,如: 要显示的Acitvity从左边往右的平移进入,被遮盖的Activity从左往右的平移划出. 在Android开发过程中,经常会碰到Activity之间的切换效果的问题,下面介绍一下如何实现左右滑动的切换效果,首先了解一下Activity切换的实现,从Android2.0开始在Activity增加了一个方法: pub

Android Activity实现切换动画的两种方法

方法一 overridePendingTransition(0,0) void android.app.Activity.overridePendingTransition(int enterAnim, int exitAnim) Call immediately after one of the flavors of startActivity(Intent) or finish to specify an explicit transition animation to perform ne

Android的Activity屏幕切换动画(一)-左右滑动切换

这段时间一直在忙Android的项目,总算抽出点时间休息一下,准备把一些项目用到的Android经验分享一下. 在Android开发过程中,经常会碰到Activity之间的切换效果的问题,下面介绍一下如何实现左右滑动的切换效果,首先了解一下Activity切换的实现,从Android2.0开始在Activity增加了一个方法: public void overridePendingTransition (int enterAnim, int exitAnim) 其中: enterAnim 定义A

android动画-Activity之间切换动画

Android中页面之间动画切换可以使用两种方式,一种是代码,一种是定义修改Activity Theme. 一.代码实现相对来说比较简单 通过调用 overridePendingTransition() 可以实时修改Activity的切换动画. 但需注意的是:该函数必须在调用startActivity()或finishe后立即调用,且只有效一次. 二.Activity Theme 1. 在styles.xml中输入以下代码: <style name="AnimationActivity&q

Android Activity界面切换添加动画特效

在Android 2.0之后有了overridePendingTransition() ,其中里面两个参数,一个是前一个activity的退出两一个activity的进入, Java代码   @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.SplashScreen); new Handler().postD

Activity 设置切换动画

extends://blog.csdn.net/luohaowang320/article/details/42124225 | http://blog.csdn.net/xuewater/article/details/36398803 最近写项目的时候需要用到大量的activity切换动画,于是就用了考虑到了theme中引用style来实现,但是竟然无效,很是郁闷,几经波折,找到了原因,原来是style里面设置了android:windowIsTranslucent这个属性,代码如下: <s

Android的Activity屏幕切换动画-左右滑动切换

. --> 在Android开发过程中,经常会碰到Activity之间的切换效果的问题,下面介绍一下如何实现左右滑动的切换效果,首先了解一下Activity切换的实现,从Android2.0开始在Activity增加了一个方法: public void overridePendingTransition (int enterAnim, int exitAnim) 其中: enterAnim 定义Activity进入屏幕时的动画 exitAnim 定义Activity退出屏幕时的动画 overri

Android实例-手机安全卫士(二十一)-自定义Activity界面切换动画

一.目标. 实现两个Activity界面的动画切换效果. 二.代码实现. 1.在res文件夹下新建一个名为anim的文件夹. 2.在新建的anim文件夹中新建一个Android xml file文件(取名tran_out),根据动画要求选择根元素(本例为translate),用于实现Activity界面移出屏幕的动画效果. 3.在新建的xml文件中,根标签<translate>的属性中,当输入一个属性时会自动增加命名空间.属性android:fromXDelta表示从哪个X轴来,原点为屏幕左上

(转)Android的Activity屏幕切换动画

转载自:开源中国社区 这段时间一直在忙Android的项目,总算抽出点时间休息一下,准备把一些项目用到的Android经验分享一下. 在Android开发过程中,经常会碰到Activity之间的切换效果的问题,下面介绍一下如何实现左右滑动的切换效果,首先了解一下Activity切换的实现,从Android2.0开始在Activity增加了一个方法: public void overridePendingTransition (int enterAnim, int exitAnim) 其中: en