如何更改操作栏的背景颜色

时间:2014-03-26 15:21:57

标签: java android xml android-activity android-actionbar

我想更改操作栏的背景颜色,也可能更改文本颜色。这个问题已经问here,但我不明白。  我是否需要使用以下命令创建一个新的xml文件:

 <resources>
    <style name="MyTheme" parent="@android:style/Theme.Holo.Light">
        <item name="android:actionBarStyle">@style/MyActionBar</item>
    </style>

    <style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
        <item name="android:background">ANY_HEX_COLOR_CODE</item>
    </style>
</resources>

我应该在哪里保存?什么文件夹? 以及如何将其设置为我的主题?

提前致谢。

3 个答案:

答案 0 :(得分:0)

您应该将此xml保存到values文件夹中,例如themes.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="MyTheme" parent="@android:style/Theme.Holo.Light">
    <item name="android:actionBarStyle">@style/MyActionBar</item>
</style>

<style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
    <item name="android:background">ANY_HEX_COLOR_CODE</item>
</style>
</resources>

你应该在AndroidManifest中选择这个主题,如:

<application android:theme="@style/MyTheme">

答案 1 :(得分:0)

尝试这种方式......在drawable文件夹中创建一个新的颜色xml ..

somecolor.xml

<?xml version="1.0" encoding="utf-8"?>
<color xmlns:android="http://schemas.android.com/apk/res/android" 
android:color="#e03456">
</color>

然后在onCreate:

    getActionBar().setBackgroundDrawable(getResources().getDrawable(R.drawable.somecolor));

如果您想更改文字颜色:

 int titleId = getResources().getIdentifier("action_bar_title", "id","android");
          TextView yourTextView = (TextView) findViewById(titleId);
       yourTextView.setTextColor(getResources().getColor(android.R.color.white));

答案 2 :(得分:0)

以下是更改操作栏颜色的方法(仅几步):

  1. 使用Android操作栏样式生成器来为所有样式的xml提供 你的申请。这是一个网络工具, http://android-ui-utils.googlecode.com/hg/asset-studio/dist/index.html。 网络允许您生成样式(颜色,背景等) 行动吧需要的。这是网络的屏幕截图 工具。 enter image description here
  2. 该工具生成样本 资源图标,图像,样式xml如下。都加进去 资源文件到应用程序资源可绘制区域,并进行更新 AndroidManifest.xml应用程序:主题使用xml生成的样式 从工具。以下是样本样式,创建的图像 从工具。 enter image description here
  3. 我将所有xml放在res / drawable文件夹中,但操作栏样式文件除外。我把动作栏样式文件放在res / values中。样式文件包含以下行:     <style name="Theme.Example" parent="@android:style/Theme.Holo.Light.DarkActionBar">

  4. 更新您的AndroidManfest.xml,以便在包含操作栏的主要活动中使用操作栏样式“Theme.Example”。

    <activity
        android:theme="@style/Theme.Example"
        android:name="com.example.restaurant.MainActivity"       
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>  
    </activity>
    
  5. 以下是我为项目生成的样式操作栏。 enter image description here