Android - Supprimer Spinner Flèche De Menu Déroulant

je me demande juste s'il est possible d'enlever simplement la flèche de descente pour un spinner? J'ai une flèche dessinable dans une mise en page arrière pour mon spinner, cependant la flèche par défaut du système apparaît à la droite du spinner, dont je voudrais me débarrasser.

voici le code xml de spinner pour ma mise en page d'activité

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

Et mon custom spinner mise en page ressemble à ceci:

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

Merci!

18
demandé sur Metalor 2015-06-02 08:49:45

4 réponses

Cela peut Vous aider

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

Utilisez ce style dans ur spinner

13
répondu Prabhuraj 2016-08-21 20:04:01

Background @null dans le fichier XML layout fait aussi l'affaire, si vous ne voulez pas déclarer un style spécifique:

        <Spinner
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@null"/>
72
répondu Galya 2016-01-29 13:17:48

Les deux réponses n'ont pas été utiles pour moi, donc voici une solution vraiment simple d'une ligne qui a fonctionné.

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

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

Je ne peux pas dire avec certitude si cela fonctionnera avec juste une mise en page par défaut de spinner, mais cela a bien fonctionné avec ma coutume que j'ai créée pour d'autres besoins.

1
répondu Nor Kagramanian 2018-01-05 22:03:20

s'il vous Plaît essayer cette façon simple:

android:background="@android:color/transparent"
0
répondu Nimisha V 2018-05-16 09:34:21