Android_实现activity之间切换的动画效果(overridePendingTransition)

本文介绍了在Android开发中如何使用overridePendingTransition方法为Activity之间的切换添加动画效果。该方法需要在StartActivity或finish之后调用,且适用于Android 2.0及以上版本。实现步骤包括在res/anim目录下创建动画XML文件,如activity_anim_enter.xml和activity_anim_exit.xml,分别定义进入和退出动画。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在Android开发过程中,如何实现Activity之间切换的动画效果?

Android2.0之后,Activity增加了实现切换动画效果的方法:

public void overridePendingTransition (int enterAnim, int exitAnim)//参数1:指Activity进入屏幕时的动画;参数2:指Activity退出屏幕时的动画

注意:1、该方法必须在 StartActivity() 或 finish() 方法之后立即调用;

     2、该方法只在Android2.0以及以上版本适用;

     3、手机的显示动画效果处于开启状态:设置--->显示--->显示动画效果

实现过程:

一、定义动画效果:首先在res目录创建anim目录,然后在anim目录下创建动画的xml文件:

activity_anim_enter.xml(进入动画):

<?xml version="1.0" encoding="utf-8"?>  
<set  
    xmlns:android="http://schemas.android.com/apk/res/android"  
    android:interpolator="@android:anim/decelerate_interpolator"  
    android:zAdjustment="top">  
    <!--activity进入动画-->  
    <scale  
        android:fromXScale="1.0" android:toXScale=".5"  
        android:fromYScale="1.0" android:toYScale=".5"  
        android:pivotX="50%p" android:pivotY="50%p"  
        android:duration="@android:integer/config_longAnimTime" />  
    <alpha  
        android:fromAlpha="1.0" android:toAlpha="0"  
        android:duration="@android:integer/config_longAnimTime"/>  
</set>  

activity_anim_exit.xml(退出动画)   copy
<pre name="code" class="java"><?xml version="1.0" encoding="utf-8"?>  
<set xmlns:android="http://schemas.android.com/apk/res/android">  
    <!--activity退出动画-->  
    <scale  
        android:fromXScale="2.0" android:toXScale="1.0"  
        android:fromYScale="2.0" android:toYScale="1.0"  
        android:pivotX="50%p" android:pivotY="50%p"  
        android:duration="@android:integer/config_longAnimTime" />  
</set>  


 
 
二、Android代码如下:(Demo:实现闪屏的功能时Activity之间的切换动画效果)
@Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.activity_main);  
        new Handler().postDelayed(new Runnable() {  
            @Override  
            public void run() {  
                Intent mIntent = new Intent(MainActivity.this,SencondActivity.class);  
                MainActivity.this.startActivity(mIntent);  
                MainActivity.this.finish();  
            overridePendingTransition(R.anim.activity_anim_enter,R.anim.activity_anim_exit);<span style="white-space:pre">    </span>//设置切换动画效果  
            }  
        }, 3000);  
   }  
注:心血来潮,想写点什么,于是记录Android开发成长之路的首篇博客便形成了,Demo无关紧要,重要的是原理理解。若有不足,望大家见谅,菜鸟一起飞,谢谢! 微笑
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值