运行app的时候,发现程序启动的时候会有闪黑屏的现象

   最近在运行app的时候,发现程序启动的时候会有闪黑屏的现象,然后才能正常进入程序。查阅很多资料,始终不能完美解决,通过不断摸索,最近才想出一个取巧的方法,可以完美避免启动黑屏的现象。

      首先我们在工程目录下添加一个styles.xml文件,如下图:

       

      styles.xml中的内容如下:

<resources> 
<style name="Theme.AppStartLoadTranslucent" parent="android:Theme">
 <item name="android:windowIsTranslucent">true</item> 
 <item name="android:windowNoTitle">true</item> 
</style>
</resources> 
     然后在AndroidManifest.xml中的activity中加上android:theme="@style/Theme.AppStartLoadTranslucent",如下图

    下图名称是之前没有改的,请自行更改为styles.xml中的名称(如还有不对应的地方,请告知一下)

    这样改完之后,运行程序发现黑屏到启动界面之后了,也就是启动界面到主界面之间还有黑屏,需要打开AndroidManifest.xml中的

<!-- Splash screen --> 默认是全部屏蔽的,如下图:


      打开该语句是添加开机图片,来替代黑色,所以要选择一张图片,更名为logo,后缀名可以是jpg或者png等其他图片格式,最后将图片复制到android目录下的res目录下的drawable-*目录下(drawable- hdpi、drawable- mdpi、drawable-ldpi),总共有三个,复制进去后,启动程序,会发现启动黑屏不见了,显示的是开机图片logo,但是在进入程序主界面会闪一下才会正常进入,我想到的解决办法是在qml中加上一个空的webview,这样程序加载完开机图片,会呈现一片白色,不会出现闪一下的现象。

      在Component.onCompleted中将webview隐藏,可以替代解决闪现黑屏的问题!

//------------------------------------------更新2018年4月20日 09:28:41-------------------------------------------------------------------------------------------------------------//

      今天研究偶然发现,在java的构造函数中加入getWindow().setFormat(PixelFormat.TRANSLUCENT);即可解决,如下图:

包名为:

import android.graphics.Bitmap;  
import android.graphics.BitmapFactory;  
import android.graphics.Canvas;  
import android.graphics.PixelFormat; 
具体可参考:https://stackoverflow.com/questions/8772862/surfaceview-flashes-black-on-load


--------------------- 
作者:Fu_Lin_ 
来源:CSDN 
原文:https://blog.csdn.net/clinuxf/article/details/55259712 
版权声明:本文为博主原创文章,转载请附上博文链接!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值