修改主题解决 Android 闪现白屏 / 黑屏
问题描述
市场上有很多应用,在启动的时候,会出现闪现黑屏或白屏,有的应用却没有。究其原因,是主题在搞鬼。
问题分析
当单击应用的图标时,Android 会为被单击的应用创建一个进程,然后创建一个 Application 实例,然后应用主题,然后启动 Activity。
因为启动 Activity 也是需要时间的,这之间的时间间隔,便是闪现白屏或黑屏的时间。
解决方案
为解决启动时闪现白屏或黑屏的问题,我们可以从主题下手,为应用创建一个透明的主题。
第一步:创建一个透明主题。
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!--设置透明背景-->
<item name="android:windowIsTranslucent">true</item>
</style>
第二步:在 AndroidManifest.xml 中为 application 应用主题。
<application
android:name=".MainApplication"
android:allowBackup="true"
android:label="@string/app_name"
android:icon="@mipmap/ic_launcher"
android:theme="@style/AppTheme">
这样一来,启动时变不会闪现黑屏或白屏了。
如果,你的应用需要一个特定的主题,但该主题不是透明的,你可以先将 application 的默认主题设置成透明的主题,然后在程序启动后(可以在启动页进行),通过 public void setTheme(int resid)
方法将主题设置成你想要的主题即可。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论