按下后退按钮的动画

boo*_*boy 6 android

我已将以下代码添加到我的活动中并获得了所需的动画,但按下后退按钮动画不一样即活动正常关闭.如何在按下后退按钮时添加动画

public void notesAndCodeClick(View v){

    Intent notesIntent = new Intent(MainActivity.this, NotesActivity.class);
    ActivityOptions notesoptions = ActivityOptions.makeScaleUpAnimation(v, 0, 0, v.getWidth(), v.getHeight());
    startActivity(notesIntent, notesoptions.toBundle());
}
Run Code Online (Sandbox Code Playgroud)

Par*_*ani 8

尝试这个,

@Override
    public void onBackPressed() {
        // TODO Auto-generated method stub
        super.onBackPressed();
        MainActivity.this.overridePendingTransition(R.anim.trans_right_in,
                R.anim.trans_right_out);
    }
Run Code Online (Sandbox Code Playgroud)

将下面列出的两个文件添加到您的动画文件夹中

资源 --> 动画

trans_right_in.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >

    <translate
        android:duration="@android:integer/config_shortAnimTime"
        android:fromXDelta="-100%p"
        android:interpolator="@android:anim/accelerate_decelerate_interpolator"
        android:toXDelta="0" />

</set>
Run Code Online (Sandbox Code Playgroud)

trans_right_out.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >

    <translate
        android:duration="@android:integer/config_shortAnimTime"
        android:fromXDelta="0"
        android:interpolator="@android:anim/accelerate_decelerate_interpolator"
        android:toXDelta="100%p" />

</set>
Run Code Online (Sandbox Code Playgroud)


Kis*_*oid 2

您可以在按后退按钮时为 Activity 设置 IN 和 OUT 动画。

从左到右动画:

将此文件放入res/anim/left_to_right.xml中:-

 <set xmlns:android="http://schemas.android.com/apk/res/android"
         android:shareInterpolator="false">
      <translate android:fromXDelta="-100%" android:toXDelta="0%"
                 android:fromYDelta="0%" android:toYDelta="0%"
                 android:duration="700"/>
    </set>
Run Code Online (Sandbox Code Playgroud)

从右到左动画:

将此文件放入res/anim/right_to_left.xml中:-

<set xmlns:android="http://schemas.android.com/apk/res/android"
     android:shareInterpolator="false">
  <translate
     android:fromXDelta="0%" android:toXDelta="100%"
     android:fromYDelta="0%" android:toYDelta="0%"
     android:duration="700" />
</set>
Run Code Online (Sandbox Code Playgroud)

现在在 onBackPressed() 中:-

@Override
public void onBackPressed() {
    super.onBackPressed();
    overridePendingTransition(R.anim.right_to_left, R.anim.left_to_right);   
}
Run Code Online (Sandbox Code Playgroud)