Стрелка раскрывающегося списка Spinner не отображается на Nexus 5 / 5x


У меня есть пользовательский спиннер-в тестировании на Nexus 7 (Marshmallow) и Moto X 2014 (Lollipop), все работает как надо. Однако, когда я тестирую на Nexus 5 или 5X (Marshmallow), стрелка выпадающего списка для спиннера не отображается. Я играл с различными выравниваниями и прокладками, но это, казалось, не имело значения.

Мой спиннер XML:

<Spinner
    android:id="@+id/spinner"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:layout_marginRight="32dp"
    android:layout_marginLeft="32dp"/>

С этим пользовательским стилем, применяемым через код:

<?xml version="1.0" encoding="utf-8"?> 
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/text1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textSize="18sp"
    android:paddingTop="0dp"
    android:paddingBottom="0dp"
    android:paddingRight="8dp"
    android:ellipsize="marquee"
    android:textColor="#FFFFFF"
    android:gravity="center"/>

Правка: смотрите скриншот соответствующей части макета, с показанными границами макета. Это спиннер, который должен иметь стрелку выпадающего списка справа.

Спиннер на Nexus 5

Правка 2: и скриншот той же области на Nexus 7.

Спиннер на Nexus 7

2 2

2 ответа:

Во-первых, это может быть из-за проблемы ширины между Nexus 7 и Nexus 5, так что попробуйте добавить android:minWidth="200dp" или minWidth атрибут, как вам нужно.

Второй альтернативой является добавление атрибута android:background, чтобы одинаковые стили применялись ко всем устройствам.
android:background="@android:drawable/btn_dropdown"

Если у вас не будет проблем в будущем, не добавляя выпадающую стрелку в spinner, в качестве альтернативы вы можете установить ее в @null и сделать такой же вид в каждом устройстве.

android:background="@null"

Я думаю, что вы должны добавить style="@android:style/Widget.DropDownItem.Spinner" в свой спиннер