androidandroid-layoutspinnerandroid-spinnerandroid-selector

Android - Remove Spinner Dropdown Arrow


I'm just wondering if it's at all possible to simply remove the dropdown arrow for a spinner? I have a drawable arrow in a backgroud layout for my spinner, however the system default arrow appears to the right of the spinner, which I would like to get rid of.

Here is the spinner xml code for my activity layout

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

And my custom spinner layout looks like this:

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

Thanks!


Solution

  • This may help You

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

    And then:

        <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:background="@android:drawable/edit_text"
            android:gravity="center"
            android:dropDownSelector="@drawable/empty"/>
    

    Use this style in ur spinner