转换活动屏幕时避免使用黑屏

时间:2012-06-15 10:32:40

标签: java android android-layout

我有两项活动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向外滑动。

问题出在此过渡期间。空白屏幕显示为整个应用See Here

的背景

如何避免?

任何帮助将不胜感激

3 个答案:

答案 0 :(得分:0)

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

<resources>

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

</resources>

答案 1 :(得分:0)

就应用层而言,不可能。

答案 2 :(得分: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);