web-dev-qa-db-fra.com

Comment placer Spinner sous la disposition Spinner quand il est cliqué et afficher un élément Spinner dans Lollipop et au-dessus?

Comme le menu de débordement recouvre la barre d’outils de la même manière que Spinner se chevauche lui-même lorsqu’il apparaît dans la liste déroulante dans Lollipop et au-dessus de la version Android. Je dois donc le placer en dessous de la vue en spirale et non au-dessus. 

14
DroidDev

Vous pouvez utiliser 

 Android:overlapAnchor="false"

Cela affichera la liste déroulante sous la vue des flèches (travail sur les API de niveau 21 et supérieur).

41
Victor

Pour toute utilisation api 

 Android:dropDownVerticalOffset="35dp"

ou quelle que soit la valeur qui convient à vos besoins.

23
Zvi

Récemment, j'ai rencontré le même problème, mais j'ai plusieurs spinner dans l'application et je voulais qu'elle soit identique sans avoir à ajouter la même propriété dans chacune d'elles. J'ai donc utilisé le fichier style.xml pour personnaliser mes fileuses comme ci-dessous.

<resources>

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="Android:spinnerStyle">@style/spinner_style</item>
</style>

<style name="spinner_style" parent="Widget.AppCompat.Spinner">
    <item name="Android:dropDownVerticalOffset">40dip</item>
    <item name="overlapAnchor">false</item>
    <!--Other customizations-->
</style>


</resources>
2
Ruan_Lopes

Utilise l'attribut suivant dans Spinner

Android:dropDownVerticalOffset="35dp"

Voici le code ci-dessous pour Spinner 

    <RelativeLayout
        Android:layout_width="200dp"
        Android:layout_height="wrap_content"
        Android:layout_marginLeft="45dp"
        Android:layout_marginRight="3dp"
        Android:layout_weight=".28"
        Android:orientation="horizontal">

        <Spinner
            Android:id="@+id/spinner_users"
            Android:layout_width="match_parent"
            Android:layout_height="wrap_content"
            Android:layout_centerVertical="true"
            Android:layout_gravity="left"
            Android:layout_marginLeft="5dp"
            Android:background="@Android:color/transparent"
            Android:dropDownVerticalOffset="35dp"
            Android:spinnerMode="dropdown" />

        <ImageView
            Android:layout_width="30dp"
            Android:layout_height="50dp"
            Android:layout_alignParentRight="true"
            Android:layout_centerVertical="true"
            Android:layout_gravity="center"
            Android:src="@drawable/drop_down" />

    </RelativeLayout>
2
Sumant Singh

Android:spinnerMode="dropdown" Android:dropDownVerticalOffset="50dp"

Cela montrera le menu déroulant en dessous de la vue spinner.

2
Ankur Bavishi