1、问题说明
首先来说明一下这个问题是什么,笔者刚才在使用自定义标题栏的时候,出现一个问题:当我的程序要进入主页面之前,会有一个短暂的时间,大概一秒钟吧,出现一个只有标题栏(黑色),文字是应用名字的页面。笔者并没有定义这个页面,猜想是程序启动时候自带的。
为什么会有这个界面呢?这个要从Android的启动机制说起,太长了,不解释了,这里直接拿出解决方案来。
2、解决方案
这里提供的解决方案其实非常简单,我们知道,每一个界面都是一个xml文件画出来的,这里的标题栏肯定也不例外。从我们已知的情况来看,Android最先启动的应该Application这个对象,然后才开启整个应用,那么,我们这里应该修改Application中的theme节点就行了。如下:
<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
<!-- All customizations that are NOT specific to a particular API-level can go here. -->
</style>
<style name="LoginTheme" parent="AppBaseTheme">
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowContentOverlay">@null</item>
</style>
3、结果验证
将Application中的theme节点信息改成为上述的theme对象之后,再次启动应用程序,OK!上述问题解决。
如果大家还有其它比较靠谱的解决方案,欢迎讨论。