2015-12-12 30 views
5

Sorun Spinner üst satırından Spinner açılır liste başlangıçtır eğiren üstten başlar amaspinner açılır

enter image description here

tıklayın

sonra Spinner

Normal devletin alt satırında başlamak olmalıdır

enter image description here

Spinner xml kodu

<Spinner 
    android:id="@+id/spnSelectLanguage" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_margin="8dp" 
    android:layout_marginTop="16dp" 
    android:spinnerMode="dropdown" 
    android:background="@drawable/spn_lang_dropdown_selector" 
    android:gravity="center_vertical" 
    android:popupBackground="#EAEAEA" 
    android:textColor="#54a4db" /> 

Kod

Spinner spnSelectLanguage = (Spinner)rootView.findViewById(R.id.spnSelectLanguage); 
    ArrayAdapter<String> adapterLanguage= new ArrayAdapter<String> (context,R.layout.layout_lng_spinner_item,new String[]{"English","Arabic"}); 
    adapterLanguage.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    spnSelectLanguage.setAdapter(adapterLanguage); 

style.xml sizin spinner olarak

<style name="SpinnerStyle" parent="android:style/Widget.ListView.DropDown"> 
    <item name="android:divider">@color/grey</item> 
    <item name="android:dividerHeight">1dp</item> 
</style> 
+0

o çekilebilir selector' 'başka bir şey değil. arka plan olarak herhangi bir şey koyabilirsiniz. –

cevap

6

:

android:overlapAnchor="false" 
+0

hayır böyle bir özellik benim için gösteriyor! – r4jiv007

+0

Bu özellik sadece Api 21 ve üstü için geçerlidir –

6

yapabilirsiniz sizin Spinner xml kodunda bu satırları ayarlamak için:

Bununla
android:spinnerMode="dropdown" 
android:dropDownVerticalOffset="50dp" 

, senin dropdownview ofset üst başlayacaktır. Sen ofset numarasını hardcode veya çalışma zamanında bunu hesaplamak ve kullanabilirsiniz:

setDropDownVerticalOffset(int pixels) 

Daha in: Android Spinner