Android Honeycomb:如何在ActionBar上的微调器中设置右角箭头的样式

时间:2011-09-21 23:59:14

标签: android spinner android-3.0-honeycomb android-actionbar

这是一个非常具体的问题。我在onBreate()方法中添加了ActionBar上的微调器。我已经能够将文本设置为白色,但我无法获得下划线,右下方的三角形/箭头显示为白色。这是我的造型:

<item name="android:actionDropDownStyle">@style/customActionBarDropDownStyle</item>

<style name="customActionBarDropDownStyle" parent="android:style/Widget.Holo.Light.Spinner">
    <item name="android:textColor">#FFFFFF</item>
</style>

我找不到使下划线和三角形变白的样式项/属性。一个存在吗?

这是一个例子。我用红色突出显示了三角形,并强调我要制作白色。

enter image description here

3 个答案:

答案 0 :(得分:7)

有点迟到的回答,但总比没有好:) 您应该创建一个新的9补丁drawable并将其设置为android:actionDropDownStyle的背景。

这是一个例子:

    <item name="android:actionDropDownStyle">@style/customActionBarDropDownStyle</item>
    <style name="customActionBarDropDownStyle"parent="android:style/Widget.Holo.Light.Spinner">
    <item name="android:background">@drawable/custom_spinner_dropdown</item>
    </style>

您无法为几乎所有原生组件设置颜色,因为它们的背景(在大多数情况下)是9-patch pngs。

答案 1 :(得分:1)

actionDropDownStyle不能用于更改您在操作栏上添加的微调器的样式;它用于其中一个操作栏模式 ActionBar.NAVIGATION_MODE_LIST ;

至于你的问题,你可以在布局文件中为你的微调器定义一个选择器,就像这样:

enter code here
<Spinner
    android:dropDownWidth="200dp"
    android:background="@drawable/actionbar_spinner"
    android:id="@+id/action_spinner"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_marginRight="10dp" />
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_enabled="false"
        android:drawable="@drawable/spinner_ab_disabled" />
    <item android:state_pressed="true"
        android:drawable="@drawable/spinner_ab_pressed" />
    <item android:state_pressed="false" android:state_focused="true"
        android:drawable="@drawable/spinner_ab_focused" />
    <item android:drawable="@drawable/spinner_ab_default" />
</selector>

答案 2 :(得分:0)

试试这个:android:background="@null"