使用actionbarcompat更改背景操作栏

时间:2014-01-26 19:49:21

标签: android background android-actionbar

我尝试使用google actionbarcompact库更改操作栏的背景但我不能说我的代码

manifest.xml中的

引用了Theme.AppCompat.Light.DarkActionBar,这个主题显示了10以下的动作栏api级别 的manifest.xml

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.action"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="18" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/Theme.AppCompat.Light.DarkActionBar" >

        <activity
            android:name="com.example.action.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>
    </application>

</manifest>

Theme.Base.AppCompat.Light.DarkActionBar的样式问题是当我用@ color / fondoaction改变布局主体的bakcground颜色而没有动作栏

   <style name="Theme.Base.AppCompat.Light.DarkActionBar"
           parent="android:Theme.Holo.Light.DarkActionBar">
        <!-- Copy system flag values for our use -->

        <!-- <item name="android:background">@color/fondoaction</item>
        <item name="android:textColor">@color/actionletras</item>-->

        <item name="windowActionBar">?android:attr/windowActionBar</item>
        <item name="actionBarSize">?android:attr/actionBarSize</item>
        <item name="actionBarItemBackground">@color/fondoaction</item>
        <item name="selectableItemBackground">?android:attr/selectableItemBackground</item>
        <item name="actionButtonStyle">?android:attr/actionButtonStyle</item>
        <item name="dividerVertical">?android:attr/dividerVertical</item>
        <item name="dividerHorizontal">?android:attr/dividerHorizontal</item>
        <item name="actionBarWidgetTheme">@style/Theme.AppCompat</item>
        <item name="android:actionBarWidgetTheme">?attr/actionBarWidgetTheme</item>

        <!-- Required for use of support_simple_spinner_dropdown_item.xml -->
        <item name="listPreferredItemHeight">?android:attr/listPreferredItemHeight</item>
        <item name="listPreferredItemHeightSmall">?android:attr/listPreferredItemHeightSmall</item>
        <item name="listPreferredItemHeightLarge">?android:attr/listPreferredItemHeightLarge</item>
        <item name="listPreferredItemPaddingLeft">?android:attr/listPreferredItemPaddingLeft</item>
        <item name="listPreferredItemPaddingRight">?android:attr/listPreferredItemPaddingRight
        </item>

        <!-- Attributes populated from the framework to be read by apps -->
        <item name="buttonBarStyle">?android:attr/buttonBarStyle</item>
        <item name="buttonBarButtonStyle">?android:attr/buttonBarButtonStyle</item>
    </style>

</resources>

1 个答案:

答案 0 :(得分:0)

菜单是操作栏顶部的项目,您需要设置样式

添加样式XML并创建主题,告诉该主题在哪里查找操作栏样式

  <style name="AppTheme" parent="Theme.AppCompat">
      <item name="android:actionBarStyle">@style/MyActionBarTheme</item>
      <item name="actionBarStyle">@style/MyActionBarTheme</item>
      ....
  </style>

将动作栏主题添加到样式xml中,位于其他样式标记

下方
  <style name="MyActionBarTheme" parent="android:Widget.ActionBar">
      <item name="android:background">@drawable/my_background</item>
  </style>

将您的主题添加到清单

中的应用程序中
  <application ...
      android:theme="@style/AppTheme">