解决Android APP启动出现白屏或黑屏的问题
2017-10-27 17:29
666 查看
1. 前言
Android开发者都会有这样的体会吧!自己开发的APP,在启动APP的时候,会出现一段时间白屏或黑屏(这跟手机系统相关,不过大多数都是显示白屏的),然后才会显示APP的界面。其实这段时间的出现,是APP在启动时,需要初始化一些数据,然后才会去加载主活动(第一个Activity)造成的。那么我怎么解决呢?
2. 解决方案
第一步:在res/values/styles.xml文件中,自定义一个主题CustomTheme,继承Application的主题AppTheme,然后重写windowBackground属性,设置为一张图片或者一种颜色。这里以设置一张图片为例:
第二步:将AndroidManifest.xml中的主活动的主题修改为CustomTheme。然后就大功告成了。
3. 补充
时间:2017.11.24
今天测试的时候,突然发现到一个问题。如果我们将主活动(专门做成一个欢迎界面,该欢迎界面只有一张图片)的布局的background属性也设置成@drawable/bg_welcome,启动APP后,能够发现欢迎界面会有一个明显的下坠感。经过不断的测试,终于发现了问题所在:
① APP先显示主题的默认背景图(bg_welcome,全屏,其高度包括了通知栏的高度);
② 然后才显示主活动的背景图(bg_welcome,全屏,其高度不包括通知栏的高度);
所以,造成下坠感,就是因为这个通知栏的高度。
那要怎么解决呢?其实很简单,如果主活动只有一张图片的话,我们完全可以不设置background,而是只设置主题的android:windowBackground,这样也完全可以实现欢迎界面的效果。但是,如果主活动是通过使用各种UI控件来打造欢迎界面的,那么我们可以使用截屏的形式,把主活动的欢迎界面截下来,然后让美工把通知栏去掉(这种方法确实有点low,不过我也没想到其他办法解决了,如果是在布局文件中里将UI控件上移一点,这个高度也不好控制,所以也挺麻烦的)
Android开发者都会有这样的体会吧!自己开发的APP,在启动APP的时候,会出现一段时间白屏或黑屏(这跟手机系统相关,不过大多数都是显示白屏的),然后才会显示APP的界面。其实这段时间的出现,是APP在启动时,需要初始化一些数据,然后才会去加载主活动(第一个Activity)造成的。那么我怎么解决呢?
2. 解决方案
第一步:在res/values/styles.xml文件中,自定义一个主题CustomTheme,继承Application的主题AppTheme,然后重写windowBackground属性,设置为一张图片或者一种颜色。这里以设置一张图片为例:
<resources> <!-- Base application theme. --> <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorAccent">@color/colorAccent</item> </style> <!-- App的第一个Activity的自定义主题 --> <style name="CustomeTheme" parent="AppTheme"> <item name="android:windowBackground">@drawable/bg_welcome</item> </style> </resources>
第二步:将AndroidManifest.xml中的主活动的主题修改为CustomTheme。然后就大功告成了。
<application android:name=".MyApplication" android:allowBackup="false" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme" tools:replace="android:allowBackup"> <activity android:name=".main.WelcomeActivity" android:theme="@style/CustomTheme"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application>
3. 补充
时间:2017.11.24
今天测试的时候,突然发现到一个问题。如果我们将主活动(专门做成一个欢迎界面,该欢迎界面只有一张图片)的布局的background属性也设置成@drawable/bg_welcome,启动APP后,能够发现欢迎界面会有一个明显的下坠感。经过不断的测试,终于发现了问题所在:
① APP先显示主题的默认背景图(bg_welcome,全屏,其高度包括了通知栏的高度);
② 然后才显示主活动的背景图(bg_welcome,全屏,其高度不包括通知栏的高度);
所以,造成下坠感,就是因为这个通知栏的高度。
那要怎么解决呢?其实很简单,如果主活动只有一张图片的话,我们完全可以不设置background,而是只设置主题的android:windowBackground,这样也完全可以实现欢迎界面的效果。但是,如果主活动是通过使用各种UI控件来打造欢迎界面的,那么我们可以使用截屏的形式,把主活动的欢迎界面截下来,然后让美工把通知栏去掉(这种方法确实有点low,不过我也没想到其他办法解决了,如果是在布局文件中里将UI控件上移一点,这个高度也不好控制,所以也挺麻烦的)
相关文章推荐
- Android开发之解决APP启动白屏或者黑屏闪现的问题
- 解决启动Android应用程序时出现白屏或者黑屏的问题
- Android开发之解决APP启动白屏或者黑屏闪现的问题
- Android解决APP启动白屏或者黑屏闪现的问题
- Android开发之解决APP启动白屏或者黑屏闪现的问题
- android app启动是白屏或黑屏问题的解决
- Android App启动时出现黑屏或者白屏的解决办法
- Android编程中activity启动时出现白屏、黑屏问题的解决方法
- 解决Android App第一次启动时显示白屏或者黑屏的问题
- Android解决APP启动白屏或者黑屏闪现的问题
- Android开发之解决APP启动白屏或者黑屏闪现的问题,androidapp
- Android 解决APP启动时出现短暂的白屏或者黑屏
- Android 解决启动app白屏或黑屏的问题
- Android启动APP黑屏或白屏问题
- App启动时页面出现白屏或者黑屏的问题(过度期间)
- APP启动出现白屏(黑屏)的问题
- 解决app启动时白屏或者黑屏问题
- Android 编程日记 解决应用启动时白屏或者黑屏的问题
- 解决Android应用启动时白屏或者黑屏的问题
- 解决APP启动白屏或者黑屏闪现的问题