修改 Android 中两个Activity的过渡动画

Android中的两个Activity切换的时候会有默认的动画效果,想要修改这个默认效果还是很简单的,只需要在StartActivity()后调用overridePendingTransition()方法即可以了。
这个方法需要两个参数,两个参数都是xml定义的动画效果。第一个参数指的是第二个activity进入的效果,第二个参数是退出的时候的效果。首先在res文件夹下创建一个新的文件夹名称为anim,并且选择资源类型也为anim,然后在该文件夹下创建xml文件,anim资源类型的文件拥有四种基本动画效果,alpha,rotate,scale和translate。
首先创建xml代码,在其中定义动画效果,这个作为第一个参数当作第二个活动的进入动画

<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/accelerate_interpolator"
    android:fromAlpha="0.0"
    android:toAlpha="1.0"
    android:duration="@android:integer/config_longAnimTime"/>

然后再定义一个动画效果

<?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.0"
    android:toXDelta="0.0"
    android:duration="@android:integer/config_longAnimTime">
</translate>

然后现在动画就已经定义好了,就可以在java代码中修改activity的跳转动画了

public class ChangePendingTransitonActivity extends AppCompatActivity{

    private Button button;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_change_pending_transiton);
        button = (Button) findViewById(R.id.fadein);
               button.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent = new Intent(ChangePendingTransitonActivity.this, MainActivity.class);
                startActivity(intent);
                overridePendingTransition(R.anim.fade, R.anim.hold);
            }
        });
    }
}

基本使用就是这么简单,只需要在启动活动后调用
overridePendingTransition()方法就可以更改活动的过渡动画了,然后在xml代码中还有一个标签是< set >标签,在这个标签中,可以将动画组合起来,打到更好看,更复杂的动画效果

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值