【问题标题】:change background action bar using actionbarcompat使用 actionbarcompat 更改背景操作栏
【发布时间】:2014-01-26 19:49:21
【问题描述】:

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

在 manifest.xml 中引用 Theme.AppCompat.Light.DarkActionBar 即显示动作栏 API 级别低于 10 的主题 清单.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>

【问题讨论】:

  • 您的菜单与操作栏的背景无关。
  • Ahmad 我把 manifest.xml 放在我引用库 actionbarcompat 的 Theme.AppCompat.Light.DarkActionBar 的地方
  • 艾哈迈德你能帮我吗兄弟我不能用 actionbarcompat 改变动作栏的颜色我使用主题 Theme.Holo.Light.DarkActionBar
  • “艾哈迈德,请帮助你的兄弟” - 妈妈

标签: android background android-actionbar


【解决方案1】:

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

添加样式 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">

【讨论】:

  • Nick Cardoso 你能帮帮我吗兄弟我不能用 actionbarcompat 改变动作栏的颜色我使用主题 Theme.Holo.Light.DarkActionBar
  • 只是提示 - 这里的大多数人不喜欢被称为“兄弟”。
  • 我认为您需要将 添加到样式以及 android 版本中。查看我编辑的答案
  • 卡尔安德森对不起,我很抱歉我是墨西哥人,我不知道美国人的礼仪
  • @Carl Anderson - 你怎么能确定呢?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-03
  • 2015-02-25
  • 1970-01-01
  • 1970-01-01
  • 2014-11-22
  • 1970-01-01
相关资源
最近更新 更多