我是靠谱客的博主 贤惠树叶,最近开发中收集的这篇文章主要介绍Activity切换动画,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1、overridePendingTransition()方法

Activity的切换动画指的是从一个activity跳转到另外一个activity时的动画。

/**
 * 实现Activity切换时的动画
 *
 * @param enterAnim ToActivity进入的动画(第二个进入)
 * @param exitAnim  FromActivity退出的动画(第一个退出)
 */
public void overridePendingTransition(int enterAnim, int exitAnim);

overridePendingTransition()方法,有两点需注意:
1)必须紧挨着startActivity()或者finish()函数之后调用
2)只在android2.0以及以上版本上适用

2、示例

在这里插入图片描述
在res目录下新建anim文件夹,在anim文件夹中新建4个xml:

left_out.xml

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/accelerate_interpolator"
    android:fromXDelta="0%"
    android:toXDelta="-100%"
    android:duration="300" />

left_in.xml

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/accelerate_interpolator"
    android:fromXDelta="-100%"
    android:toXDelta="0%"
    android:duration="300" />

right_in.xml

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/accelerate_interpolator"
    android:fromXDelta="100%"
    android:toXDelta="0%"
    android:duration="300" />

right_out.xml

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/accelerate_interpolator"
    android:fromXDelta="0%"
    android:toXDelta="100%"
    android:duration="300" />

OneActivity进入TwoActivity:

	findViewById(R.id.id_btn_enter).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                startActivity(new Intent(OneActivity.this, TwoActivity.class));
                //OneActivity -> TwoActivity
                //第一个参数R.anim.right_in : TwoActivity进入的动画(to Activity)
                //第二个参数R.anim.left_out : OneActivity退出的动画(from Activity)
                overridePendingTransition(R.anim.right_in, R.anim.left_out);
            }
        });

TwoActivity退出返回OneActivity:

	findViewById(R.id.id_btn_exit).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                finish();
                //TwoActivity -> OneActivity
                //第一个参数R.anim.left_in   : OneActivity进入的动画(to Activity)
                //第二个参数R.anim.right_out : TwoActivity退出的动画(from Activity)
                overridePendingTransition(R.anim.left_in, R.anim.right_out);
            }
        });

最后

以上就是贤惠树叶为你收集整理的Activity切换动画的全部内容,希望文章能够帮你解决Activity切换动画所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部