java - ActionBar 文本的背景颜色没有改变

标签 java android xml

我将一个 ActionBar 放入我的应用程序并更改了背景颜色,如下所示。奇怪的是,ActionBar 上文本背后的颜色不会改变。 ( picture )

我环顾四周,发现了这个: <item name="android:actionBarItemBackground">@null</item>

但我宁愿不使用它,因为那样我的 minSdk 必须设置为 14,而我现在是 11。我确实尝试将其提高到 14 以查看此标签是否有效,但我还是无法更改颜色。

有没有人有这方面的经验?非常感谢您的帮助。

样式.xml:

<style name="AppBaseTheme" parent="Theme.AppCompat">
</style>

<!-- Application theme. -->
<style name="MyAppTheme" parent="AppBaseTheme">
    <item name="android:colorBackground">@color/background</item>
    <item name="android:background">@color/background</item>
    <item name="android:textColor">@color/myWhite</item>
    <item name="android:actionBarStyle">@style/MyActionBar</item>
</style>

<!-- ActionBar styles -->
<style name="MyActionBar" parent="@style/Widget.AppCompat.ActionBar">
    <item name="android:background">@drawable/actionbar_background</item>
    <item name="actionMenuTextColor">@color/myWhite</item>
    <!--Support Library compatibility-->
    <item name="background">@color/myBlack</item>
</style>

drawable/actionbar_background:

<shape xmlns:android="http://schemas.android.com/apk/res/android"
     android:shape="rectangle">
     <solid android:color="@color/myBlack" />
</shape>

menu/login.xml:

<menu xmlns:android="http://schemas.android.com/apk/res/android" >
      <item android:id="@+id/action_search"
      android:title="@string/action_search"
      android:showAsAction="ifRoom" />

      <item android:id="@+id/action_settings"
      android:title="@string/settings_label"
      android:showAsAction="never" />
</menu>

最后,在 LoginActivity 类中,onCreateOptionsMenu 方法:

@Override
public boolean onCreateOptionsMenu(Menu menu)
{
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.login, menu);
    return super.onCreateOptionsMenu(menu);
}

再次感谢!

最佳答案

我想通了。原来我使用了错误的属性——而不是在 styles.xml 文件中使用 android:background,您需要使用 android:windowBackground。 android:background 也会改变其他各种东西。

关于java - ActionBar 文本的背景颜色没有改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20991410/

相关文章:

java - 使用自定义登录对话框的 GWT 和 Spring 安全集成

Android 视频上传到 Youtube

mysql - 如何使用 xml/json 将主数据库 (MySQL) 与多个从数据库同步

xml - XSLT 替换存在于另一个元素值中的元素

java - Java JTree valueChanged事件在MouseEvent之前

java - 如何用 "@"替换所有空行?

java - 如何在android中循环遍历TextView变量

java - Android - 如何接听 Skype/VoIP 电话?

在设备休眠时工作的 Android 定时器

asp.net - 让 jQuery ajax 和 asp.net webmethod xml 响应工作