Android:更改ActionBar下方线条的颜色

6
我想要改变ActionBar下方橙色线条的颜色。
我尝试了一些方法,但目前还没有帮助。
我的Galaxy S2当前主题是一个橙色主题。 因此更改主题也会改变该线条的颜色。 但我不知道如何访问该线条以更改其颜色。

4个回答

12

你可以使用这段代码来实现你的目的。

background.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list
    xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape android:shape="rectangle">
            <solid android:color="#ff0000" />
        </shape>
    </item>
    <item android:bottom="5dp">
        <shape android:shape="rectangle">
            <solid android:color="#ffffff" />
        </shape>
    </item>
</layer-list>

styles.xml

<resources>
    <style name="AppTheme" parent="android:Theme.Holo">
        <item name="android:actionBarStyle">@style/AppTheme.ActionBar</item>
        <item name="android:background">#ffffff</item>
        <item name="android:colorBackground">#ffffff</item>
    </style>
    <style name="AppTheme.ActionBar" parent="android:Widget.ActionBar">
        <item name="android:background">@drawable/background</item>
    </style>
</resources>

这些代码适用于当你没有任何选项菜单,就像问题中显示的图片一样。如果你有选项菜单,你必须自定义选项菜单项的背景。

如果你有选项菜单,下面的代码是适用的:

<resources>
    <style name="AppTheme" parent="android:Theme.Holo.Light">
        <item name="android:actionBarStyle">@style/AppTheme.ActionBar</item>
        <item name="android:popupMenuStyle">@style/AppTheme.PopUpMenu</item>
    </style>
    <style name="AppTheme.ActionBar" parent="android:Widget.ActionBar">
        <item name="android:background">@drawable/background</item>
    </style>
    <style name="AppTheme.PopUpMenu" parent="android:Widget.Holo.Light.ListPopupWindow">
        <item name="android:popupBackground">@drawable/background</item>
    </style>
</resources>

当我在这里使用PopUpMenu样式时,我的操作栏文本消失了。 - Adam Johns

4

有一种比创建大量样式更简单的方法。 参考这个。只需设置

getActionBar().setBackgroundDrawable(null);

这将从您的操作栏中删除该行。

1
我使用了这个 ^_^,它百分之百好用:
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    Drawable res = getResources().getDrawable(R.drawable.ab_transparent_example);
    getActionBar().setBackgroundDrawable(res);

并且只使用这个.9.png


0
在我的情况下,我在应用程序中使用了Holo主题。
<style name="AppTheme" parent="android:Theme.Holo">
       ...
 </style>

背景工具栏是通过属性设置的。

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

<style name="ActionBarStyle" parent="@android:style/Widget.Holo.ActionBar">
    <item name="android:background">@drawable/action_bar_background</item>
</style>

标准的 Holo 操作栏背景是九宫格可拉伸图片,如下所示:
九宫格可拉伸图片

因此,如果您想要更改底部线条的颜色,您需要创建一个新的九宫格可拉伸图片。 创建可调整大小的位图(9-Patch 文件)

将文件放置在 drawable 文件夹中(例如 drawable-xxhdpi),并在主题中指定文件的路径。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接