Android启动白屏问题解决办法

来源:互联网 发布:江门网络推广公司 编辑:程序博客网 时间:2024/06/10 15:24
最近做项目时,由于后台接口暂时没调,登录一步就直接跳过了(点击登录按钮直接跳转后面页面),界面运行很顺畅 。后来可以登录了,因为在登录页的onCreate方法中会判断获取本地保存的用户名及密码,这无疑就导致了在执行onCreate时占用了时间,这时也就出现了白屏问题。而使用setContentView又一定要放在onCreate中,setContentView本身,就需要占用时间,所以这个白屏无法从根本上消除。

这个白屏是由activity的theme项来决定,学名Preview,,消除的方法,是继承系统给定的样式(values文件夹下styles.xml)添加以下红色代码来禁用其预览页。

<!-- Base application theme. --><style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">    <!-- Customize your theme here. -->    <item name="colorPrimary">@color/colorPrimary</item>    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>    <item name="colorAccent">@color/colorAccent</item>    <item name="android:windowDisablePreview">true</item></style>

当然,也可以通过

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

来指定显示的背景页。

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

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

//背景图<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>//让背景透明,//activity左右滑动时,划出区域显示下方的窗口<item name="android:windowIsTranslucent">true</item>

1 0
原创粉丝点击