我已将以下代码添加到我的活动中并获得了所需的动画,但按下后退按钮动画不一样,即活动正常关闭。如何在按下后退按钮时添加动画
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());
}
答案 0 :(得分:4)
试试这个,
@Override
public void onBackPressed() {
// TODO Auto-generated method stub
super.onBackPressed();
MainActivity.this.overridePendingTransition(R.anim.trans_right_in,
R.anim.trans_right_out);
}
将以下列出的文件添加到动画文件夹
res - >动画强>
<强> 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>
<强> 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>
答案 1 :(得分:1)
您可以在按下按钮的同时为活动设置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>
从右到左动画:
将此文件放入 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>
现在在onBackPressed(): -
@Override
public void onBackPressed() {
super.onBackPressed();
overridePendingTransition(R.anim.right_to_left, R.anim.left_to_right);
}
答案 2 :(得分:1)
你必须做一件事,在完成你的活动之后调用动画。
finish();
overridePendingTransition(R.anim.nothing,R.anim.nothing);
快乐编码......
答案 3 :(得分:0)
要在按下后退按钮时添加动画,可以使用Activity类的onBackPressed()方法。
示例强>
@Override
public void onBackPressed() {
super.onBackPressed();
// add your animation
}
Android文档
public void onBackPressed(): 当活动检测到用户按下后退键时调用。默认实现只是完成当前活动,但您可以覆盖它以执行任何操作。