我怎样才能改变操作栏NAVIGATION_MODE_LIST“小三角彩”(How can I cha

2019-08-01 09:52发布

之后我设置action bar ,以NAVIGATION_MODE_LIST

getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);

然后设置一个适配器它。

该列表显示为预期,但我需要更改名单的“小三角”的颜色作为默认颜色是非常接近我的背景颜色

是否有可能做到这一点,如果是的话,我该怎么办呢?

Answer 1:

你想改变的小三角是在背景Spinner窗口小部件ActionBar 。 背景是一个状态列表绘制 。 国家列表绘制的项目9个补丁可绘像这样的(这个特殊的一个是用于全息光主题默认状态下,华电国际版):

要改变你必须改变这9个补丁可绘的几组三角形的颜色 - 一个绘制各国的各dpi和组合。 您还需要自定义状态列表绘制是因为作为背景Spinner部件。

要更改窗口小部件的背景,你必须调整的主题。 如果您正在使用ActionBarSherlock (ABS)的变化actionDropDownStyle项目和本地动作条变化android:actionDropDownStyle项目(即使你使用ABS原生的ActionBar用于运行Android 4.0及更高版本的设备)。

主题应该是这样的:

<style name="MyTheme" parent="SomeParentStyle>
    <item name="actionDropDownStyle">@style/MyActionBarSpinnerStyle</item><!-- if you use ABS -->
    <item name="android:actionDropDownStyle">@style/MyActionBarSpinnerStyle</item>
</style>

MyActionBarSpinnerStyle应该是这样的:

<style name="MyActionBarSpinnerStyle" parent="@style/MyDropDownActionBarStyle">
    <item name="android:background">@drawable/my_custom_state_list_drawable</item>
</style>

其中,代替MyDropDownActionBarStyle应该有类似Widget.Sherlock.Light.Spinner.DropDown.ActionBar如果你用ABS或Widget.Holo.Light.Spinner.DropDown.ActionBar如果你只针对本地动作条。



文章来源: How can I change the 'little triangle color' in action bar NAVIGATION_MODE_LIST