应用启动出现黑屏或白屏问题

原因分析:应用点击后,会先打开入口activity,而对应应用还没有启动,系统会为该应用创建一个进程,而创建和初始化进程需要时间,该过程中应用程序无法显示,所以会出现短暂的黑屏或白屏

解决办法:在应用初始化完成前显示临时图片

具体做法:设置主题

1.入口页设置主题图片

a.为启动页设置主题

 <activity
        android:name=".activity.HnSplashActivity"
        android:screenOrientation="portrait"
        android:theme="@style/SplashTheme">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
 
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

b.在Style中为WindowBackground设置一张背景图。

    <!--// Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/main_color</item>
        <item name="colorPrimaryDark">@color/main_color</item>
        <item name="colorAccent">@color/main_color</item>
    </style>
 
    <!--启动页背景-->
    <style name="SplashTheme" parent="AppTheme">
        <item name="android:windowBackground">@drawable/start</item>
    </style>

 

 

解决方式之使用颜色

为启动页设置主题

 <activity
        android:name=".activity.HnSplashActivity"
        android:screenOrientation="portrait"
        android:theme="@style/SplashTheme">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
 
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
在Style中为WindowBackground设置颜色。

     <!-- 防止欢迎页白屏或者黑屏,设置图片 -->
<style name="SplashTheme" parent="AppBaseTheme"> 
    <item name="android:windowBackground">@drawable/splash</item> 
    <item name="android:windowFullscreen">true</item> 
    <item name="windowNoTitle">true</item>
</style>
 
 
 
 
 
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <!-- 背景颜色 --> 
    <item android:drawable="@color/green" /> <item> 
    <!-- 图片 --> 
    <bitmap android:gravity="center" android:src="@drawable/icon_welcome" /> </item>
</layer-list>

参考链接:https://blog.csdn.net/meijing11/article/details/79245372

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值