当前位置: 首页 > 知识库问答 >
问题:

ActionBar文本的背景色未更改

田博远
2023-03-14

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

我环顾四周,发现了这个:

但我不想使用它,因为那时我的minSdk必须设置为14,而现在我的minSdk设置为11。我确实试着把它放大到14,看看这个标签是否有效,但我还是无法改变颜色。

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

Styles.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>

可绘制/actionbar_background:

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

菜单/登录。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类中,onCreateOptions菜单方法:

@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);
}

再次感谢!


共有1个答案

湛嘉歆
2023-03-14

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

 类似资料:
  • 我想知道如何更改文本视图的背景,因为我正在从站点解析中提取数据。com,但我不能这样做,我正在尝试这样做。 代码 错误 04-30 11:56:59.156 28388-28691/com。实例ronysueliton。patospizzas E/AndroidRuntime﹕ 致命异常:AsyncTask#2进程:com。实例ronysueliton。patospizzas,PID:28388爪

  • 我有一个奇怪的问题,老实说,我不知道该怎么做。 我有一个背景图像的盒子。在背景图片上,我有很多带有背景颜色和文字的框。我希望每个框中的文本的颜色是透明的,所以颜色将是文本上面的背景图像的一部分。 这里有一个例子:http://jsfiddle.net/wjdwohdd/5/ 它应该是一个图像,而不是绿色背景。 如果我设置颜色:透明,文本的颜色变成红色,我不确定它是否可以作为背景图片。 编辑:我更新

  • 问题内容: 我想像在CSS中一样给SVG的背景上色 我只能找到有关的文档,该文档使文本本身着色 可能吗 问题答案: 否,这是不可能的,SVG元素没有 表示属性。 为了模拟这种效果,您可以使用或类似的东西(过滤器)在text属性后面绘制一个矩形。使用JavaScript,您可以执行以下操作:

  • 我需要在我的程序中使用文本区域,我也需要它是只读的。 这是我创建textArea的主程序的一部分: 这是我的css文件的一部分: 如果我删除行:ta.setDisable(true);Css的工作方式就像我希望它工作一样。但是在我将禁用 true 设置为 true 之后,它只会使文本区域透明,这使得文本非常难以阅读,并且背景颜色也不是我想要的。 有没有其他方法可以只读设置文本?或者有没有办法在禁用

  • 当我的按钮被按下时,我如何用xml更改文本和背景颜色? 要更改文本颜色,可以执行以下操作: 要更改背景,我可以做(在具有可绘制引用的选择器/项中使用它): 但我怎么能两样都做呢?假设我想要: 默认:黑色文本/白色背景 按下:白文/蓝底 我完全忘记了背景和文本颜色是分开管理的,所以我是这样做的: 在MyBackgroundColors.xml中,我管理背景,在FiltersButtonColors.

  • 我添加了一个表,但问题是,面板没有显示其背景色。我试过设置滚动窗格的背景色等,但它不起作用。框架有一个按钮“验证”,单击该按钮时,在其下方显示一个表。在单击之前,表格将显示的部分为纯灰色。我希望整个部分是象牙背景。请帮我诊断这个问题。