10

Ich frage mich nur, ob es überhaupt möglich ist, den Dropdown-Pfeil für einen Spinner einfach zu entfernen? Ich habe einen pfeilförmigen Pfeil in einem Backgroud-Layout für meinen Spinner, aber der Standardpfeil des Systems erscheint rechts neben dem Spinner, den ich gerne loswerden möchte.Android - Remove Spinner Dropdown Arrow

Hier ist der Spinner xml-Code für meine Tätigkeit 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"/> 

und das Layout meiner benutzerdefinierten Spinner sieht wie folgt 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" /> 

Dank!

+0

Überprüfen Sie diesen Link können Sie es helfen http://stackoverflow.com/questions/4058360/how-to-create-android-spinner-without-down-triangle-on-the-right-side- of-the-wid –

+0

Nicht sicher, warum die Downvotes, ich habe auf der Suche nach, wie dies für ein paar Stunden jetzt, bevor Sie fragen. – Metalor

+0

Ich habe deinen Kommentar @ZubairAkber gesehen, vielen Dank! Nicht sicher, wie ich das vermisst habe, ich bin normalerweise ein Profi beim Googeln. Nochmals vielen Dank :) – Metalor

Antwort

8

Ihr Dies kann

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

Mit dieser Art in ur Spinnern hilft

+0

das sieht seltsam aus, wenn Sie Material Design verwenden ... die Antwort unten ist korrekt – kenyee

57

Hintergrund @null in der Layout-XML-Datei ist auch der Trick, wenn man nicht einen bestimmten Stil erklären will:

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

Ich war überrascht, dass dies sehr gut funktioniert. – Neri

0

Beide Antworten waren nicht hilfreich für mich, also hier ist eine wirklich einfache One-Line-Lösung, die funktioniert.

//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-Spinnern Layout arbeiten, aber es funktionierte gut mit meiner Gewohnheit, die ich für andere Bedürfnisse geschaffen.