Стрелка раскрывающегося списка 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"/>
Правка: смотрите скриншот соответствующей части макета, с показанными границами макета. Это спиннер, который должен иметь стрелку выпадающего списка справа.
Правка 2: и скриншот той же области на Nexus 7.
2 ответа:
Во-первых, это может быть из-за проблемы ширины между
Второй альтернативой является добавление атрибутаNexus 7
иNexus 5
, так что попробуйте добавитьandroid:minWidth="200dp"
илиminWidth
атрибут, как вам нужно.android:background
, чтобы одинаковые стили применялись ко всем устройствам.android:background="@android:drawable/btn_dropdown"
Если у вас не будет проблем в будущем, не добавляя выпадающую стрелку в spinner, в качестве альтернативы вы можете установить ее в
@null
и сделать такой же вид в каждом устройстве.android:background="@null"