之后我设置action bar
,以NAVIGATION_MODE_LIST
getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
然后设置一个适配器它。
该列表显示为预期,但我需要更改名单的“小三角”的颜色作为默认颜色是非常接近我的背景颜色 。
是否有可能做到这一点,如果是的话,我该怎么办呢?
之后我设置action bar
,以NAVIGATION_MODE_LIST
getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
然后设置一个适配器它。
该列表显示为预期,但我需要更改名单的“小三角”的颜色作为默认颜色是非常接近我的背景颜色 。
是否有可能做到这一点,如果是的话,我该怎么办呢?
你想改变的小三角是在背景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
如果你只针对本地动作条。