我已将以下代码添加到我的活动中并获得了所需的动画,但按下后退按钮动画不一样即活动正常关闭.如何在按下后退按钮时添加动画
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)
尝试这个,
@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)
您可以在按后退按钮时为 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)
| 归档时间: |
|
| 查看次数: |
4674 次 |
| 最近记录: |