Androidapp启动时⿊屏或者⽩屏的原因及解决办法
1、产⽣原因
其实显⽰⿊屏或者⽩屏实属正常,这是因为还没加载到布局⽂件,就已经显⽰了window窗⼝背景,⿊屏⽩屏就是window窗⼝背景。
⽰例:
2、解决办法
通过设置设置Style
(1)设置背景图Theme
通过设置⼀张背景图。当程序启动时,⾸先显⽰这张背景图,避免出现⿊屏
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="android:screenOrientation">portrait</item>
<item name="android:windowBackground">>@mipmap/splash</item>
怎么设置主题背景<item name="android:windowIsTranslucent">true</item>
<item name="android:windowNoTitle">true</item>
</style>
(2)设置透明Theme
通过把样式设置为透明,程序启动后不会⿊屏⽽是整个透明了,等到界⾯初始化完才⼀次性显⽰出来
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="android:windowNoTitle">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:screenOrientation">portrait</item>
</style>
两者对⽐:
Theme1 程序启动快,界⾯先显⽰背景图,然后再刷新其他界⾯控件。给⼈刷新不同步感觉。
Theme2 给⼈程序启动慢感觉,界⾯⼀次性刷出来,刷新同步。
(3)修改l
<application
android:name=".App"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true">
<activity android:name=".MainActivity"
android:theme="@style/AppTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
//......
</application>
解决后⽰例:
3、常见的Theme主题
android:theme="@android:style/Theme.Dialog" //Activity显⽰为对话框模式
android:theme="@android:style/Theme.NoTitleBar" //不显⽰应⽤程序标题栏
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" //不显⽰应⽤程序标题栏,并全屏
android:theme="Theme.Light " //背景为⽩⾊
android:theme="Theme.Light.NoTitleBar" //⽩⾊背景并⽆标题栏
android:theme="Theme.Light.NoTitleBar.Fullscreen" //⽩⾊背景,⽆标题栏,全屏
android:theme="Theme.Black" //背景⿊⾊
android:theme="Theme.Black.NoTitleBar" //⿊⾊背景并⽆标题栏
android:theme="Theme.Black.NoTitleBar.Fullscreen" //⿊⾊背景,⽆标题栏,全屏
android:theme="Theme.Wallpaper" //⽤系统桌⾯为应⽤程序背景
android:theme="Theme.Wallpaper.NoTitleBar" //⽤系统桌⾯为应⽤程序背景,且⽆标题栏
android:theme="Theme.Wallpaper.NoTitleBar.Fullscreen" //⽤系统桌⾯为应⽤程序背景,⽆标题栏,全屏
android:theme="Theme.Translucent" //透明背景
android:theme="Theme.Translucent.NoTitleBar" //透明背景并⽆标题
android:theme="Theme.Translucent.NoTitleBar.Fullscreen" //透明背景并⽆标题,全屏
android:theme="Theme.Panel " //⾯板风格显⽰
android:theme="Theme.Light.Panel" //平板风格显⽰
以上就是对Android app启动时⿊屏或者⽩屏的原因及解决办法的资料整理,后续继续补充相关资料,谢谢⼤家对本站的⽀持!