1

我有两个活动 A 和 B

A 开始 B 喜欢

        Intent i = new Intent();
        i.setClass(A.this, B.class);
        startActivity(i);
        overridePendingTransition(R.anim.right_slide_in, R.anim.down_slide_out);
        finish();

在哪里

R.anim.right_slide_in 是

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
    <translate
       android:fromXDelta="+100%p"
       android:toXDelta="0"
       android:duration="700"
     />
</set>

而 R.anim.down_slide_out 是

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
   <translate
      android:fromYDelta="0"
      android:toYDelta="+100%p"
      android:duration="700" />
</set>

这工作很棒。B从右边滑来,A滑下来。

问题是在这个过渡期间。空白屏幕显示为整个应用程序的背景看这里

如何避免这种情况?

任何帮助,将不胜感激

4

3 回答 3

0

尝试使用<application android:theme="@style/MyTheme">将属性设置为可绘制对象的应用程序主题(例如 )android:windowBackground,例如:

<resources>

    <style name="MyTheme" parent="android:Theme">
        <item name="android:windowBackground">@drawable/app_background</item>
    </style>

</resources>
于 2012-06-15T11:38:08.513 回答
0

就应用层而言,不可能。

于 2012-07-23T04:44:43.350 回答
0

试试这个。move_to_left.xml

<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:fillAfter="true"
    android:interpolator="@android:anim/linear_interpolator" >

    <translate
        android:duration="800"
        android:fromXDelta="100%p"
        android:toXDelta="0%p" />

</set>

move_to_right.xml

<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:fillAfter="true"
    android:interpolator="@android:anim/linear_interpolator" >

    <translate
        android:duration="800"
        android:fromXDelta="0%p"
        android:toXDelta="-100%p" />

</set>

startActivity(recipeCategoriesIntent);
overridePendingTransition(R.anim.move_to_left, R.anim.move_to_right);
于 2016-05-25T16:52:46.577 回答