Android启动Activity中间黑屏

来源:互联网 发布:软件测试需要会什么 编辑:程序博客网 时间:2024/05/17 23:42

在上一篇中我们讲到了Android启动是SplashActivity的黑屏问题,需要在theme中设置windowBackground来消除,但是在Activity的切换中也会出现黑屏问题,比如我们在退出登录时需要跳转到登录界面,这是为了清除栈中的其他Activity,需要如下代码:
Intent intent = new Intent(this, LoginActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
this.startActivity(intent);
this.finish();

由于设置了两个Flag,所以会导致启动LoginActivity有黑屏,想要消除黑屏做法可以在theme中添加如下代码:
<style name="AppTheme" parent="Theme.AppCompat">
<item name="android:windowDisablePreview">true</item>
...
</style>

然后设置给你的Application即可。
参考http://stackoverflow.com/questions/29015885/how-to-avoid-black-screen-on-startactivity-when-flag-activity-clear-task-is-set/31781556#31781556

0 0