Intent intent = new Intent(LoginActivity.this, Profile.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
overridePendingTransition(R.anim.pull_in_right, R.anim.push_out_left);
我正在使用此标志在登录后清除所有活动堆栈。问题是,由于屏幕瞬间变为白色,转换变得非常难看。有什么办法可以避免这种情况吗?
P.S。:两项活动都以RED Color为背景。我想知道白色的来源。
答案 0 :(得分:10)
在您的应用主题中添加以下行,在片段或活动加载之前禁用Windows预览。(白屏问题)
<item name="android:windowDisablePreview">true</item>
请参阅here
答案 1 :(得分:0)
在styles.xml
文件中添加以下行:
<style name="AppTheme" parent="Theme.AppCompat">
<item name="android:windowDisablePreview">true</item>
...
</style>
它将禁用新加载的屏幕(又名白/黑屏幕)的预览模式。
如果要在加载新屏幕之前使用自定义背景,请考虑添加以下行:
<style name="AppTheme" parent="Theme.AppCompat">
<item name="android:windowBackground">@drawable/slash_screen</item>
...
</style>