我正在转换到活动B,当点击活动A上的某个按钮时将调用活动B.单击按钮后,活动B从右到左显示。现在,我希望在单击后退按钮时在活动B上从左到右转换。谁都知道怎么做。当我想去活动A时,我正在调用onBackPressed()。
这是活动A
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mBtnNext = (Button) findViewById(R.id.btn_go_next);
mBtnNext.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(MainActivity.this, second.class));
}
});
}`
这是活动B
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
mBtnGoBack = (Button) findViewById(R.id.btn_go_back);
mBtnGoBack.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
overridePendingTransition(R.anim.right_slide, R.anim.left_slide);
}
@Override
public void onBackPressed() {
super.onBackPressed();
overridePendingTransition(R.anim.left_slide, R.anim.right_slide);
}
`
这是我的左侧
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<translate
android:duration="500"
android:fromXDelta="0%"
android:fromYDelta="0%"
android:toXDelta="-100%"
android:toYDelta="0%" />
</set>
这是我的右侧
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<translate
android:duration="500"
android:fromXDelta="100%"
android:fromYDelta="0%"
android:toXDelta="0%"
android:toYDelta="0%" />
</set>
答案 0 :(得分:0)
您需要创建一个新文件夹,右键单击res文件夹,创建新的文件夹名称。你可以把你的动画xmls放进去。
在res / anim /
中使用此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>
这是从右到左动画:
<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>
在您的编码使用意图中,从左到右:
this.overridePendingTransition(R.anim.animation_enter,
R.anim.animation_leave);
In your coding use intent like for right to left
this.overridePendingTransition(R.anim.animation_leave,
R.anim.animation_enter);