2016-07-22 10 views
0

Ich habe eine harte Zeit versucht, dieses Problem zu beheben.Android Spinner: wie Eltern zu tun und das Dropdown an den unteren Rand hängen

Wie Sie in diesen Bildern sehen können, möchte ich die Dropdown-Liste mit dem übergeordneten (das ist die rechteckige Schaltfläche) übereinstimmen und, wenn es möglich ist, das Dropdown selbst an den unteren Rand des Spinner anhängen.

Hier ist mein XML.

Die Spinner:

[...] 

<Spinner 
    android:id="@+id/fuel_types" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:padding="@dimen/padding_8dp" 
    android:paddingLeft="@dimen/padding_5dp" 
    android:layout_gravity="start" 
    android:gravity="center" 
    android:spinnerMode="dropdown"/> 

[...] 

Sein Textview:

<?xml version="1.0" encoding="utf-8"?> 
<TextView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/single_item" 
    style="@style/AppTheme.Dark.AddPrice" 
    android:singleLine="true" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:textSize="@dimen/text_size_20sp" 
    android:textStyle="bold" 
    android:ellipsize="marquee"/> 

Die CheckedTextView:

<?xml version="1.0" encoding="utf-8"?> 
<CheckedTextView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@android:id/text1" 
    style="@style/AppTheme.Dark.AddPrice" 
    android:layout_width="match_parent" 
    android:layout_height="@dimen/add_price_checked_height" 
    android:ellipsize="marquee" 
    android:paddingBottom="@dimen/padding_5dp" 
    android:paddingLeft="@dimen/padding_10dp" 
    android:paddingRight="@dimen/padding_10dp" 
    android:paddingTop="@dimen/padding_5dp" 
    android:singleLine="true" 
    android:textColor="@color/white" 
    android:textSize="@dimen/text_size_15sp" 
    android:textStyle="bold" 
    android:background="@color/colorPrimaryLight" 
    android:gravity="center" 
    android:textAlignment="gravity"/> 

Nun ist die aktuelle Aussehen meiner Spinner:

Spinner 1Spinner 2

Dies ist, was würde ich erhalten möchte (vielleicht mit der Drop-Down mit abgerundeten Ecken, auch):

enter image description here

Irgendwelche Hinweise ? Fehle ich etwas?

+1

Hier beantwortet: http://stackoverflow.com/a/28929835/4504191 –

+0

Eine Lösung für ältere APIs gefunden. Vielen Dank. – Davide3i

Antwort

0

Neben kris larson ‚s Kommentar, kann ich schlage vor, dieses Attribut auf APIs verwenden älter als 17:

android:dropDownVerticalOffset="@dimen/dropdown_vertical_offset" 

Nur zwei XMLs anderes Layout erstellen.