android主题Theme.Holo.Light下如何设置程序的标题字体颜色为白色

摘要 我写了一个记事本的程序,不太喜欢黑色背景,因此将主题设置为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>

 如此这般设置之后,我的目的就达到了,这次我得到的经验是,任何主题都是可以随意定制的,但是你必须清楚,每个主题之下有哪些属性,他们的作用和名称。否则你还是没办法。

你可能感兴趣的:(android主题Theme.Holo.Light下如何设置程序的标题字体颜色为白色)