无法改变actionBar分隔符的颜色

时间:2013-09-22 15:20:15

标签: android intellij-idea android-actionbar

我尝试更改actionBar分隔符的颜色,但没有任何效果。我'使用android支持库v7来支持旧设备和自定义样式,我也改变了所有动作栏可绘制,但没有任何事情发生!

<resources>
    <style name="MyTheme" parent="Theme.AppCompat">
        <item name="actionBarStyle">@style/MyActionBar</item>
    </style>

    <style name="MyActionBar" parent = "Widget.AppCompat.ActionBar">
        <item name="background">@drawable/my_action_bar</item>
    </style>
</resources>

我的ide在布局中显示奇怪的错误,为什么我会收到此错误?它不是颜色值

java.lang.NumberFormatException: Color value '@drawable/abs__ab_transparent_dark_holo' must start with #

解决方案:如果用于api级别&gt; = 14,则需要添加android命名空间。可能对某人有帮助。

3 个答案:

答案 0 :(得分:3)

这是因为“分隔符”是图像。它在Holo主题资产中硬编码。

查看platforms / android-19 / data / res / drawable-xxhdpi / ab_transparent_dark_holo.9.png

这里的风格是为holo dark声明的。

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

这是一个背景。您需要更改图像中的颜色并替换条形图的背景。 它还需要不同尺寸的不同分辨率。

答案 1 :(得分:0)

也许您应该直接设置颜色,将主题更改为

<item name="android:divider">@color/dividercolor</item>

然后你应该在你的/值/颜色文件中添加颜色dividercolor,比如

<item name="dividercolor"> #0099CC </item>

答案 2 :(得分:-1)

我希望这会对你有所帮助

<style name="CustomTheme" parent="@android:style/Theme.Holo.Light">
    <item name="android:actionBarStyle">@style/MyTheme.ActionBarStyle</item>
    <item name="android:actionBarDivider">@drawable/action_vertical_doted</item>
    <item name="android:actionButtonStyle">@style/MyTheme.ActionBar.ActionButton</item>
    <item name="android:actionMenuTextColor">#ffffff</item>
    <!-- <item name="android:actionMenuTextAppearance">@style/MyTheme.Menu.FontStyle</item> -->
    <!-- <item name="android:actionBarSize">50dp</item> -->

</style>

<style name="MyTheme.ActionBarStyle" parent="@android:style/Widget.Holo.Light.ActionBar">
    <item name="android:titleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item>
    <item name="android:background">@drawable/actionbar_bg_shap</item>
    <item name="android:displayOptions">none</item>
    <item name="android:backgroundSplit">@drawable/actionbar_bg_shap</item>
</style>

<style name="MyTheme.ActionBar.ActionButton" parent="@android:style/Widget.Holo.Light.ActionButton">
    <item name="android:background">@drawable/main_button_inactive_tr</item>
</style>