Android启动出现白屏的解决办法(theme)

简介: 安卓启动时出现白屏,是因为在执行onCreate时占用了时间。而使用setContentView又一定要放在onCreate中,setContentView本身,就需要占用时间,所以这个白屏无法从根本上消除。

安卓启动时出现白屏,是因为在执行onCreate时占用了时间。而使用setContentView又一定要放在onCreate中,setContentView本身,就需要占用时间,所以这个白屏无法从根本上消除。


这个白屏是由activity的theme项来决定,学名Preview,,消除的方法,是继承系统给定的样式,添加

1
< item   name = "android:windowDisablePreview" >true</ item >

禁用其预览页。。


当然,也可以通过

1
< item   name = "android:windowBackground" ></ item >

来指定显示的背景页。


全部继承方式距离

1
2
3
4
< style   name = "AppTheme"   parent = "AppBaseTheme" >
     <!-- All customizations that are NOT specific to a particular API-level can go here. -->
     < item   name = "android:windowDisablePreview" >true</ item >
</ style >



注意:如果通过windowsBackground设置背景图后,在以后设计布局的时候,如果你没有给某个区域指定背景色,那么该区域默认透明,将会将背景图透视到前台。


在补充几个继承或者自定义主题时有用的Theme项,,(取自themes.xml)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
//    背景图
<item name= "windowBackground" >@android:drawable/dark</item> 
//    前景图
<item name= "windowFrame" >@ null </item> 
//    是否展示标题
<item name= "windowNoTitle" > false </item> 
//    是否全屏
<item name= "windowFullscreen" > false </item> 
//    是否为悬浮窗
<item name= "windowIsFloating" > false </item>  
//    是否显示用户的壁纸
<item name= "windowShowWallpaper" > false </item>  
//    动画样式(说白了就是activity切换的动画)
<item name= "android:windowAnimationStyle" ></item>
1
2
3
//    让背景透明,
//        在activity左右滑动时,划出区域显示下方的窗口
<item name= "android:windowIsTranslucent" > true </item>

目录
相关文章
|
6月前
|
Android开发 开发者
Android UI设计: 请解释Activity的Theme是什么,如何更改应用程序的主题?
Android UI设计: 请解释Activity的Theme是什么,如何更改应用程序的主题?
149 1
|
定位技术 API 开发工具
Android 按照步骤接入百度地图API,定位显示不了解决办法
Android 按照步骤接入百度地图API,定位显示不了解决办法
373 1
|
2月前
|
定位技术 Android开发 iOS开发
引入百度地图,安卓出现白屏问题
引入百度地图,安卓出现白屏问题
175 57
|
2月前
|
Android开发
Android中SurfaceView的双缓冲机制和普通View叠加问题解决办法
本文介绍了 Android 平台上的 SurfaceView,这是一种高效的图形渲染控件,尤其适用于视频播放、游戏和图形动画等场景。文章详细解释了其双缓冲机制,该机制通过前后缓冲区交换来减少图像闪烁,提升视觉体验。然而,SurfaceView 与普通 View 叠加时可能存在 Z-Order 不一致、同步问题及混合渲染难题。文中提供了使用 TextureView、调整 Z-Order 和创建自定义组合控件等多种解决方案。
114 9
|
5月前
|
Android开发 开发者
Android UI设计中,Theme定义了Activity的视觉风格,包括颜色、字体、窗口样式等,定义在`styles.xml`。
【6月更文挑战第26天】Android UI设计中,Theme定义了Activity的视觉风格,包括颜色、字体、窗口样式等,定义在`styles.xml`。要更改主题,首先在该文件中创建新主题,如`MyAppTheme`,覆盖所需属性。然后,在`AndroidManifest.xml`中应用主题至应用或特定Activity。运行时切换主题可通过重新设置并重启Activity实现,或使用`setTheme`和`recreate()`方法。这允许开发者定制界面并与品牌指南匹配,或提供多主题选项。
75 6
|
5月前
|
Android开发 开发者
Android UI中的Theme定义了Activity的视觉风格,包括颜色、字体、窗口样式等。要更改主题
【6月更文挑战第25天】Android UI中的Theme定义了Activity的视觉风格,包括颜色、字体、窗口样式等。要更改主题,首先在`styles.xml`中定义新主题,如`MyAppTheme`,然后在`AndroidManifest.xml`中设置`android:theme`。可应用于全局或特定Activity。运行时切换主题需重置Activity,如通过`setTheme()`和`recreate()`方法。这允许开发者定制界面以匹配品牌或用户偏好。
55 2
|
5月前
|
Android开发
Android studio 出现Plugin [id: ‘com.android.application‘, version: ‘8.1.0‘, apply: false] 问题解决办法
Android studio 出现Plugin [id: ‘com.android.application‘, version: ‘8.1.0‘, apply: false] 问题解决办法
1089 1
|
5月前
|
Android开发 Windows
android studio开发时提示 TLS 握手错误解决办法
在Windows环境下遇到TLS协议版本不支持的错误,Gradle构建失败。解决方案是在build.gradle.kts中设置系统属性`https.protocols`为`TLSv1.2`,而非遵循误导信息设置为TLSv1.1。
|
6月前
|
编译器 开发工具 Android开发
|
Android开发
android.view.WindowLeaked的解决办法
我们知道Android的每一个Activity都有个WindowManager窗体管理器,同样,构建在某个Activity之上的对话框、PopupWindow也有相应的WindowManager窗体管理器。
127 0