Подтвердить что ты не робот

Android - Удалить Spinner Dropdown Arrow

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

Вот код 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"/>

И моя настраиваемая компоновка счетчика выглядит так:

<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" />

Спасибо!

4b9b3361

Ответ 1

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

<?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

Ответ 2

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

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

Ответ 3

Оба ответа не помогли мне, поэтому вот очень простое однострочное решение, которое сработало.

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

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

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