原来的应用程序主题是继承Theme.Light,引发了一个问题:原来最上面的状态栏是黑色的,自己应用的ActionBar(自己伪造的,其实是一个固定的FrameLayout在那里)也是黑色的。应用程序不退出,直接锁屏,然后在开启屏幕进入,最上面的状态栏变白了。看着实在难受。
所以,就要想办法解决啊。原因是因为Light是亮色的,参见上一篇博文。所以,把主题继承至Theme.Holo就可以了。Theme.Holo就是Dark风格的。
但是,这样不知不觉有引发了一个问题:原来的EditText的光标不见了。其实不是不见了,而是变成了白色,所以看不见了。
网上有很多解决方案。比如,android:textCursorDrawable="@null",使用setCursorVisiable等方法。但是,由于我这里的EditText是new出来的,不是在布局文件中定义的,通过xml属性是没有办法解决的。本来想通过代码,总应该有个setTextCursorDrawable吧?结果发现没有。唉,那怎么办?最后只好去Theme.Holo里面看看咯。嗯,对了,找到了这个属性:
<item name="textCursorDrawable">@android :drawable/text_cursor_holo_dark</item>
然后在继承的主题里面重写这个属性就可以了:
<item name="android:textCursorDrawable">@null</item>
问题得解。不知道还有没有其他解决方案。个人愚见。有更好的解决方案欢迎留言哦。