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

泡在网上的日子 / 文 发表于2013-02-26 00:35 次阅读 android,Theme

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

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

收藏 赞 (7) 踩 (2)
上一篇:ViewConfiguration.getScaledTouchSlop () 用法
getScaledTouchSlop是一个距离,表示滑动的时候,手的移动要大于这个距离才开始移动控件。 /** * 包含了方法和标准的常量用来设置UI的超时、大小和距离 */ public class ViewConfiguration { // 设定水平滚动条的宽度和垂直滚动条的高度,单位是像素px priva
下一篇:Android多点触控技术MotionEvent 以及其应用案例
1 简介 Android多点触控在本质上需要LCD驱动和程序本身设计上支持,目前市面上HTC、Motorola和Samsung等知名厂商只要使用电容屏触控原理的手机均可以支持多点触控Multitouch技术,对于网页缩放、手势操作上有更好的用户体验。 在Android平台上事件均使用了Mo