Android-Удалить Стрелку Выпадающего Списка Spinner

мне просто интересно, можно ли вообще просто удалить стрелку раскрывающегося списка для спиннера? У меня стрелка мешочки в макете шаблон для моя пряха однако система стрелку по умолчанию отображается справа от счетчика, который я хотел бы избавиться.

вот XML-код spinner для моего макета активности

<Spinner
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/spinnerSelectStaff"
            android:layout_gravity="center_horizontal"
            android:layout_marginLeft="18dp"
            android:layout_marginRight="18dp"
            android:gravity="center"
            android:dropDownSelector="@drawable/empty"/>

и мой пользовательский макет spinner выглядит так:

<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:layout_margin="5dp"
          android:gravity="center"
          android:textSize="20sp"
          android:background="@drawable/spinner_text_shape"
          android:drawableRight="@drawable/ic_keyboard_arrow_down_black_24dp"
          android:textColor="@color/primary_text" />

спасибо!

4 ответов


Это может помочь вам

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style parent="@android:style/Widget.Spinner" name="SpinnerwithNoArrow">
        <item name="android:background">@android:drawable/edit_text</item>
    </style>
</resources>

используйте этот стиль в UR spinner


Background @null в xml-файле макета также делает трюк, если вы не хотите объявлять определенный стиль:

        <Spinner
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@null"/>

оба ответа не были полезны для меня, поэтому вот действительно простое однострочное решение, которое сработало.

  //some spinner initialisation stuff->
mySpinner.setAdapter(adapter);

  //some spinner initialisation stuff->
mySpinner.getBackground().setColorFilter(Color.TRANSPARENT, PorterDuff.Mode.CLEAR);

Я не могу сказать наверняка, будет ли он работать только с макетом spinner по умолчанию, но он хорошо работал с моим обычаем, который я создал для других нужд.


пожалуйста, попробуйте этот простой способ:

android:background="@android:color/transparent"