0

我有Activity一个黑暗的ActionBar。我需要删除它的垂直分隔线,因为我的图标已经有“内置”分隔线。我尝试过的内容如下

活动风格:

     <style name="sMain" parent="@android:style/Theme.Holo">
    <item name="android:icon">@android:color/transparent</item>
    <item name="android:actionBarStyle">@style/MyActionBar</item>
</style>

我的动作栏:

   <style name="MyActionBar" parent="android:Widget.Holo.ActionBar">
    <item name="android:actionBarDivider">@null</item>
</style>

这没有任何影响。任何想法我做错了什么?

4

1 回答 1

3

您需要将该android:actionBarStyle属性设置为活动主题的一部分,而不是操作栏样式的一部分。

所以我相信这应该有效:

<style name="sMain" parent="@android:style/Theme.Holo">
    <item name="android:icon">@android:color/transparent</item>
    <item name="android:actionBarStyle">@style/MyActionBar</item>
    <item name="android:actionBarDivider">@null</item>
</style>

如何判断属性属于哪里?我曾经也为此苦苦挣扎(通常通过反复试验来解决),直到我发现android.R.styleable该类的用途!看看这里:https ://developer.android.com/reference/android/R.styleable.html

如果您在页面中进行搜索,actionBarStyle您会看到它显示为Theme_actionBarStyle,这意味着它是Theme样式的一部分(请记住,主题和样式之间没有技术差异)。如果您进行搜索,ActionBar_您将能够遍历所有可以设置为ActionBar样式一部分的属性。

于 2013-08-17T17:41:57.563 回答