2015-12-12 14 views
5

Il problema è che la lista Spinner discesa partenza dalla linea superiore del Spinner ma dovrebbe essere parte da linea di fondo di Spinnerfilatore discesa iniziare dalla parte superiore della filatrice

stato Normale

enter image description here

Dopo Clicca

enter image description here

Spinner codice XML

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

Codice

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

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

non è altro che 'selector' drawable. puoi mettere qualsiasi cosa come sfondo. –

risposta

6

Nel vostro filatore:

android:overlapAnchor="false" 
+0

nessuna proprietà del genere sta mostrando per me !! – r4jiv007

+0

Questa proprietà funziona solo per Api 21 e versioni successive –

6

È possibile impostare questa righe nel codice XML Spinner:

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

Con questo, il vostro dropdownview inizierà con compensazione superiore. È possibile hardcode il numero offset o calcolarlo in fase di esecuzione e utilizzare:

setDropDownVerticalOffset(int pixels) 

More in: Android Spinner

Problemi correlati