【问题标题】:Android: Title Bar Color don't changeAndroid:标题栏颜色不变
【发布时间】:2013-05-22 02:58:04
【问题描述】:

我想更改我的应用程序标题栏颜色并以这种方式尝试:

清单文件的一部分:

<application
        android:icon="@drawable/icon"
        android:label="@string/app_name"  
        android:theme="@style/Theme.MyTitleBar" ></application>

文件styles.xml的样式块部分:

 <style name="Theme.MyTitleBar" parent="android:Theme">
        <item name="android:colorBackground">#FFFFFF</item>
        <item name="android:background">#FFFFFF</item>
        <item name="android:textColor">@android:color/black</item>
        <item name="android:textStyle">bold</item>
        <item name="android:textSize">16sp</item>
 </style>

但只有文本颜色和属性更改正确。任何客人我做错了什么?

【问题讨论】:

    标签: android layout colors mono titlebar


    【解决方案1】:

    根据你的要求在你的项目中添加这个style.xml文件...

        <item name="android:actionBarStyle">@style/myActionBar</item>
    
    </style>
    
    
    
    <style name="myActionBar" parent="@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse">    
        <item name="android:titleTextStyle">@style/myActionBar.titleTextStyle</item>
    </style>
    
    <style name="myActionBar.titleTextStyle" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title.Inverse">
        <item name="android:textColor">@color/darkgrey</item>
    </style>
    
     <style name="myActionBar" parent="@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse">
        <item name="android:background">#e6ebc3</item>
    </style>
    

    【讨论】:

      【解决方案2】:

      编辑:我为 ActionBar 添加了部分(对不起,我一开始只为对话框添加)

      你可以按照这个,它可以让你改变除了标题栏之外的其他属性:

      只需在清单文件中调用您的自定义主题即可:

       <application
          android:icon="@drawable/icon"
          android:label="@string/app_name"  
          android:theme="@style/AppTheme" >
      

      然后在您的styles.xml 中创建这两种样式。第一个定义主题,第二个定义主题的样式之一:

      <style name="AppTheme" parent="@android:style/Theme.Holo.Light">
          <item name="android:actionBarStyle">@style/ActionBarStyle</item>
      </style>
      
      <style name="ActionBarStyle" parent="android:style/Widget.Holo.Light.ActionBar">     
          <item name="android:colorBackground">#FFFFFF</item>
          <item name="android:background">#FFFFFF</item>
          <item name="android:textColor">@android:color/black</item>
          <item name="android:textStyle">bold</item>
          <item name="android:textSize">16sp</item>
      </style>
      

      注意:在本例中,我自定义了 Holo Light 主题,如您所见:android:style/Widget.Holo.Light.ActionBar

      【讨论】:

      • 感谢您的快速回答,但这无济于事。第一个我想改变标题不是操作栏而是第二个:为什么我必须声明主题并添加另一个主题?这看起来很奇怪。为什么我不能一步设置所有属性?
      • 我试了下代码,果然背景变白了,你试过了吗?
      • 是的,我有,在 HTC One 上。我会试试模拟器
      • 我在软件模拟器上试过了。背景是浅灰色(模拟器背景颜色),文本的属性设置正确。嗯,这太疯狂了
      猜你喜欢
      • 1970-01-01
      • 2019-12-06
      • 1970-01-01
      • 1970-01-01
      • 2017-03-05
      • 2019-03-01
      • 1970-01-01
      • 2015-04-27
      • 2017-03-06
      相关资源
      最近更新 更多