【问题标题】:How to animate just one Activity when Activity change?Activity 更改时如何仅为一个 Activity 设置动画?
【发布时间】:2013-02-14 17:42:04
【问题描述】:

当从 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 AActivity B 的变化,我想要Activity A 的相同行为(只是留下来,没有动画)。 但是如果我在onCreate() 中尝试overridePendingTransition(R.anim.fadein, 0);Activity A 就会从屏幕上消失。

fadein.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>

第一张图是我现在得到的,第二张图是我想要得到的。

【问题讨论】:

    标签: android android-activity translate-animation


    【解决方案1】:

    试试这个。

    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"
     />
    

    【讨论】:

    • 我应该把这个动画放在哪里?
    • 我的意思是,如何使用它,在哪里调用它?我应该用这个替换我的任何动画吗?我应该将其设置为Activity A 吗?请告诉我。
    • overridePendingTransition(R.anim.fadein,R.anim.staystill); 然后在staystill.xml 中设置android:duration="1000" 即可解决问题。
    • 太棒了。非常感谢
    • 我喜欢你的解决方案。但是在为新活动制作动画时,我仍然会出现黑屏。请提供解决黑屏的方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-13
    • 1970-01-01
    • 1970-01-01
    • 2015-10-07
    • 2019-03-21
    • 1970-01-01
    • 2017-09-18
    相关资源
    最近更新 更多