0

我试图在进入和退出活动时添加滑动动画,但它仅在按下手机后退按钮时才有效。当按下工具栏中的向上按钮或单独的按钮时,它不起作用。

我尝试将overridePendingTransition(R.anim.no_anim, R.anim.slide_out_right);行添加到onPause()方法以及finish()方法和按钮 OnClick 方法,但它不起作用:/

no_anim.xml:

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

<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate
        android:duration="0"
        android:fromXDelta="0"
        android:toXDelta="0" />
</set>

slide_out_right.xml:

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

<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate
        android:duration="@android:integer/config_longAnimTime"
        android:fromXDelta="0"
        android:toXDelta="100%p" />
</set>

爪哇:

public void button(View view) {
    Intent intent = new Intent(this, MainActivity.class);
    startActivity(intent);
    overridePendingTransition(R.anim.no_anim, R.anim.slide_out_right);
}

@Override
public void finish(){
    super.finish();
    overridePendingTransition(R.anim.no_anim, R.anim.slide_out_right);
}

@Override
protected void onPause() {
    super.onPause();
    overridePendingTransition(R.anim.no_anim, R.anim.slide_out_right);
}
4

2 回答 2

1

onBackPressed()按下工具栏中的向上按钮即可调用

于 2019-01-01T15:02:58.300 回答
1

设置工具栏导航点击监听:

toolbar.setNavigationOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        finish(); //close activity
        overridePendingTransition(R.anim.your_anim, R.anim.your_anim);
    }
});

这肯定会奏效!

于 2019-01-01T15:47:44.313 回答