我是靠谱客的博主 贤惠树叶,这篇文章主要介绍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切换动画内容请搜索靠谱客的其他文章。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部