当从 Ativity A
改变时至 Activity B
反之亦然,我希望只 Activity B
动画,但在我的例子中Activity A
也有动画。(在屏幕左侧留出空白)Activity B
动画效果很好,我的问题是 Activity A
的动画.(不应该存在)。我设置了
//Activity B
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
overridePendingTransition(R.anim.fadein, R.anim.fadeout);
setContentView(R.layout.mylayout);
//..........
}
仅在Activity B
.我想要那个Activity A
永远不会动画化或从屏幕上消失。
我以这种方式修复了反向动画(从 Activity B
更改为 Activity A
):
//Activity B
@Override
public void onPause(){
super.onPause();
overridePendingTransition(0, R.anim.fadeout);
}
这很好用,所以,现在问题只出在 Activity A
的变化上至 Activity B
, 我想要 Activity A
的相同行为(只是留下来,没有动画)。
但如果我尝试 overridePendingTransition(R.anim.fadein, 0);
在 onCreate()
, Activity A
从屏幕上消失。
淡入淡出.xml
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator">
<translate android:fromXDelta="100%p" android:toXDelta="0%p" android:duration="1000"/>
淡出.xml
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator">
<translate android:fromXDelta="0%p" android:toXDelta="100%p" android:duration="1000"/>
</set>
第一张图是我现在得到的,第二张图是我想要得到的。
最佳答案
试试这个。
staystill.xml
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromYDelta="0%p" android:toYDelta="0%p"
android:duration="@android:integer/config_longAnimTime"
/>
关于android - 如何在 Activity 更改时只为一个 Activity 设置动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14871637/