在活动之间切换时显示白屏

and*_*XXX 14 android android-intent android-activity start-activity android-studio

当我从一个活动移动到另一个活动时,将显示白色屏幕2秒钟.我正在使用此代码:

Intent intent = new Intent(this, SecondActivity.class);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

Ziw*_*eng 21

像这样创建一个主题:

<style name="YourTheme" parent="YourParentTheme">
    <item name="android:windowDisablePreview">true</item>
</style>
Run Code Online (Sandbox Code Playgroud)

将此主题应用于您的第二个活动

更多详细信息,请访问:http://www.tothenew.com/blog/disabling-the-preview-or-start-window-in-android/


Sag*_*gar 5

如果您的 Activity 包含更复杂的布局,请不要finish()在设置标志后使用。改用FLAG_ACTIVITY_CLEAR_TOP and _TASK它,它将解决您的问题。这对我来说非常有效

Intent intent = new Intent(this, SecondActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.l?FLAG_ACTIVITY_CLEAR_TOP ); startActivity(intent);

或简单地使用如下

Intent intent = new Intent(this, SecondActivity.class); startActivity(intent);


小智 5

当从 ActivityOne 切换到 ActivityTwo 时,直到 ActivityTwo onCreate 方法被执行,默认背景显示为白/黑屏。好的做法是不要在 onCreate 中进行繁重的操作。要解决此问题,请将透明背景设置为 ActivityTwo,如下所示。

<style name="YourTheme" parent="YourParentTheme">
<item name="android:windowBackground">@android:color/transparent</item>
</style>
Run Code Online (Sandbox Code Playgroud)

在 Manifest 设置在主题之上

<activity
            android:name=".ActivityTwo"
            android:theme="@style/YourTheme">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)


Jas*_*Jas 1

尝试intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);在调用之前添加startActivity(intent);

Intent intent = new Intent(this, SecondActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)