消除Android应用中启动时的白屏问题
2017-03-16 10:47
155 查看
问题:Android应用启动时会有短暂的白屏。
原因:在Android中,启动应用时默认先显示了window窗口背景,黑屏白屏就是window窗口背景,然后才会加载布局文件也就是自己的Activity。
解决方法:这里只提供一个简单粗暴的解决方法,就是设置Activity theme:
第一步:找到项目中res/values/styles.xml文件,设置自己的style,在windowBackground中设置要显示的图片或颜色,我这里选择的是在drawable下的一个图片。
<style name="AppTheme2" parent="android:Theme.Light.NoTitleBar">
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowActionBar">false</item>
<item name="android:windowBackground">@drawable/welcome</item>
</style>
第二步:在清单文件中(AndroidManifest.xml)的启动Activity中设置theme:
<activity
android:name=".activity.WelcomeActivity"
android:label="@string/app_name"
android:windowSoftInputMode="adjustPan"
android:theme="@style/AppTheme2">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
最后一步:一定要注意在启动的Activity中添加这一行代码,目的是不显示系统的标题栏,保证windowBackground和界面activity_main的大小一样,显示在屏幕不会有错位:
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
原因:在Android中,启动应用时默认先显示了window窗口背景,黑屏白屏就是window窗口背景,然后才会加载布局文件也就是自己的Activity。
解决方法:这里只提供一个简单粗暴的解决方法,就是设置Activity theme:
第一步:找到项目中res/values/styles.xml文件,设置自己的style,在windowBackground中设置要显示的图片或颜色,我这里选择的是在drawable下的一个图片。
<style name="AppTheme2" parent="android:Theme.Light.NoTitleBar">
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowActionBar">false</item>
<item name="android:windowBackground">@drawable/welcome</item>
</style>
第二步:在清单文件中(AndroidManifest.xml)的启动Activity中设置theme:
<activity
android:name=".activity.WelcomeActivity"
android:label="@string/app_name"
android:windowSoftInputMode="adjustPan"
android:theme="@style/AppTheme2">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
最后一步:一定要注意在启动的Activity中添加这一行代码,目的是不显示系统的标题栏,保证windowBackground和界面activity_main的大小一样,显示在屏幕不会有错位:
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
相关文章推荐
- 解决Android应用启动时白屏或者黑屏的问题
- Android 性能优化——解决应用启动白屏/黑屏问题
- 关于Android应用首次启动白屏、黑屏时间长的问题
- Android应用启动黑屏或者白屏问题
- Android中Splash应用启动白屏问题的解决方法
- 解决Android应用冷启动时出现的白屏问题的方法
- Android 应用启动时优化白屏问题
- 解决android应用启动白屏问题——android 的冷启动
- Android 编程日记 解决应用启动时白屏或者黑屏的问题
- 解决开发android应用时虚拟机启动、运行较慢的问题
- 消除 activity 启动时白屏、黑屏问题
- android开发之提高应用启动速度_splash页面瞬间响应_避免APP启动闪白屏
- android启动时白屏或者黑屏的问题
- Android应用启动时黑屏或白屏的解决
- 关于android创建快捷方式会启动两个应用的问题
- 消除 activity 启动时白屏、黑屏问题
- 消除 activity 启动时白屏、黑屏问题
- 关于android创建快捷方式会启动两个应用的问题
- 解析android创建快捷方式会启动两个应用的问题
- Android应用设置为Launcher时onCreate启动俩次的问题