wake-up-neo.com

Wie platziere ich den Spinner unterhalb des Spinnerlayouts, wenn er angeklickt wird, und zeige Spinnerartikel in Lollipop und darüber?

Wie bei einem Überlaufmenü überlappt sich die Symbolleiste auf dieselbe Weise, wie sich der Spinner überlappt, wenn ein Dropdown-Element in Lollipop und über der Android-Version angezeigt wird. Also muss ich es unter der Spinneransicht platzieren, nicht darüber. 

14
DroidDev

Sie können verwenden 

 Android:overlapAnchor="false"

Daraufhin wird das Dropdown-Menü unterhalb der Drehfeldansicht angezeigt (Arbeiten auf API-Ebene 21 und höher).

41
Victor

Für alle API-Anwendungen 

 Android:dropDownVerticalOffset="35dp"

oder welcher Wert auch immer Ihren Bedürfnissen entspricht.

23
Zvi

Vor kurzem war ich mit dem gleichen Problem konfrontiert, aber ich habe mehrere Spinner in der App. Ich wollte, dass es genauso aussieht, ohne dass in allen dieselbe Eigenschaft hinzugefügt werden muss. Daher habe ich die style.xml zum Anpassen meiner Spinner wie folgt verwendet

<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

Sie verwenden das folgende Attribut in Spinner

Android:dropDownVerticalOffset="35dp"

Hier ist der Code für 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"

Daraufhin wird das Dropdown-Menü unterhalb der Drehfeldansicht angezeigt.

2
Ankur Bavishi