Ich frage mich nur, ob es überhaupt möglich ist, den Dropdown-Pfeil für einen Spinner einfach zu entfernen. Ich habe einen zeichnbaren Pfeil in einem Hintergrund-Layout für meinen Spinner. Der Standardpfeil des Systems wird jedoch rechts neben dem Spinner angezeigt, den ich gerne loswerden möchte.
Hier ist der Spinner-XML-Code für mein Aktivitätslayout
<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"/>
Und mein benutzerdefiniertes Spinner-Layout sieht folgendermaßen aus:
<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" />
Vielen Dank!
Dies kann Ihnen helfen
<?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>
Verwenden Sie diesen Stil in Ihrem Spinner
Background @null in der Layout-XML-Datei macht ebenfalls den Trick, wenn Sie keinen bestimmten Stil deklarieren möchten:
<Spinner
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:background="@null"/>
Bitte probieren Sie diesen einfachen Weg:
Android:background="@Android:color/transparent"
Beide Antworten waren für mich nicht hilfreich, daher hier eine wirklich einfache einzeilige Lösung, die funktioniert hat.
//some spinner initialisation stuff->
mySpinner.setAdapter(adapter);
//some spinner initialisation stuff->
mySpinner.getBackground().setColorFilter(Color.TRANSPARENT, PorterDuff.Mode.CLEAR);
Ich kann nicht sicher sagen, ob es nur mit einem Standard-Spinner-Layout funktionieren wird, aber es hat gut mit meinem Custom funktioniert, das ich für andere Bedürfnisse erstellt habe.