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