修改主题解决 Android 闪现白屏 / 黑屏

发布于 2023-05-13 22:51:51 字数 1050 浏览 47 评论 0

问题描述

市场上有很多应用,在启动的时候,会出现闪现黑屏或白屏,有的应用却没有。究其原因,是主题在搞鬼。

问题分析

当单击应用的图标时,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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

老旧海报

暂无简介

文章
评论
27 人气
更多

推荐作者

櫻之舞

文章 0 评论 0

弥枳

文章 0 评论 0

m2429

文章 0 评论 0

野却迷人

文章 0 评论 0

我怀念的。

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文