android主题Theme.Holo.Light下如何设置程序的标题字体颜色为白色 分类: Android界面和组件 2014-06-21 14:02 327人阅读 评论(0) 收藏
摘要 我写了一个记事本的程序,不太喜欢黑色背景,因此将主题设置为Theme.Holo.Light,这个主题的特点是默认(没有人为设置的情况下)背景是白色,字体为黑色,但是这会导致actionbar的程序标题的字体颜色也为黑色,如果actionbar的背景我们采用默认的白色当然没
我写了一个记事本的程序,不太喜欢黑色背景,因此将主题设置为Theme.Holo.Light,这个主题的特点是默认(没有人为设置的情况下)背景是白色,字体为黑色,但是这会导致actionbar的程序标题的字体颜色也为黑色,如果actionbar的背景我们采用默认的白色当然没问题,可是我的背景是棕色的,字体为黑色就显得不好看,这时哦需要将字体改成白色。
为了一个字体颜色更改主题当然不划算。
于是我想到了自定义Theme.Holo.Light主题:
AndroidManifest.xml中将应用的主题设置成自己定义的一个继承了Theme.Holo.Light的主题。
1
2
3
4
5
|
<application
android:allowBackup= "true" android:icon= "@drawable/ic_launcher" android:label= "@string/app_name" android:theme= "@style/CustomActivityTheme"
> |
在res/values/的style文件中,我只是想改变这个主题的应用标题,所以只需自定义一下actionbar的样式:
1
2
3
4
|
<style
name= "CustomActivityTheme"
parent= "@android:style/Theme.Holo.Light" >
<item
name= "android:actionBarStyle" >@style/MyActionBar</item>
</style> |
@style/MyActionBar,MyActionBar
就是我们自定义样式的名称,写法如下:
1
2
3
|
<style
name= "MyActionBar"
parent= "@android:style/Widget.Holo.ActionBar" >
<item
name= "android:titleTextStyle" >@style/TextAppearance.Holo.Widget.ActionBar.Title.Own</item>
</style> |
android:titleTextStyle属性是ActionBar的属性之一,设置actionbar字体颜色的,而titleTextStyle的属性又有好多种,因此我们又定义了一个自定义的style TextAppearance.Holo.Widget.ActionBar.Title.Own来设置titleTextStyle
1
2
3
4
|
<style
name= "TextAppearance.Holo.Widget.ActionBar.Title.Own" parent= "@android:style/TextAppearance.Holo.Widget.ActionBar.Title" >
<item
name= "android:textColor" > #FFFFFF</item>
</style> |
如此这般设置之后,我的目的就达到了,这次我得到的经验是,任何主题都是可以随意定制的,但是你必须清楚,每个主题之下有哪些属性,他们的作用和名称。否则你还是没办法。