Android Honeycomb: как оформить стрелку в правом углу в счетчике на панели действий

Это довольно конкретный вопрос. У меня есть счетчик на панели действий, который добавляется в метод onCreate(). Мне удалось сделать текст белым, но я не могу сделать так, чтобы подчеркивание и треугольник/стрелка в правом нижнем углу отображались белыми. Вот мой стиль:

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

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

Я не могу найти элемент/свойство стиля, которое делает подчеркивание и треугольник белыми. Существует ли один?

Вот пример. Я выделил красным треугольник и подчеркнул, что хочу сделать его белым.

введите здесь описание изображения


person CACuzcatlan    schedule 21.09.2011    source источник
comment
Вы нашли решение этого?   -  person Mina Wissa    schedule 26.01.2012
comment
Нет, я не нашел способ сделать это.   -  person CACuzcatlan    schedule 27.01.2012


Ответы (3)


Немного запоздалый ответ, но лучше, чем никогда :) Вы должны создать новый патч 9 и установить его в качестве фона для 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-патч png.

person dimlah    schedule 15.06.2012

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>
person sweetvvck    schedule 25.07.2013

Попробуйте это: android:background="@null"

person Nguyen    schedule 27.06.2015