tapas studio rodamientos rapido hielo hacer fisher fidget facil cómo control con como casero android android-layout android-spinner divider

android - studio - ¿Cómo mostrar divisor entre elementos de spinner?



cómo hacer un fisher spinner (4)

Basándome en la respuesta de @Talihawk, hice que funcionara solo para un spinner específico . En lugar de configurar su tema de actividad, establezca el tema directamente para la vista de giro:

<style name="MatchSpinnerStyle" parent="android:style/Widget.ListView.DropDown"> <item name="android:divider">#123456</item> <item name="android:dividerHeight">1dp</item> </style> <style name="MatchSpinnerTheme" parent="AppTheme"> <item name="android:dropDownListViewStyle">@style/MatchSpinnerStyle</item> </style>

y

<android.support.v7.widget.AppCompatSpinner android:layout_width="match_parent" android:layout_height="wrap_content" android:theme="@style/MatchSpinnerTheme"/>

Uso listas de vistas y vistas ampliadas que tienen divisiones y puedo configurarlas, pero en spinner parece que no es una división entre los elementos.

Alguien que tiene una idea de cómo solucionar esto?


Esto funcionó para mí:

<style name="SpinnerStyle" parent="Widget.AppCompat.ListView.DropDown"> <item name="android:divider">#d1d1d1</item> <item name="android:dividerHeight">0.5dp</item> </style> <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <!-- Customize your theme here. --> <item name="android:dropDownListViewStyle">@style/SpinnerStyle</item>

La ventaja de usar esto es que no elimina el efecto de onda en el desplazamiento.


Logré encontrar una solución más adecuada para este problema (sin incluir el divisor en el diseño de un solo elemento).

Lo que tienes que hacer es definir en el tema de tu actividad.

<item name="android:dropDownListViewStyle">@style/App.Style.Spinner</item>

y luego crear el estilo adecuado con

<style name="App.Style.Spinner" parent="@style/Widget.Sherlock.Light.ListView.DropDown"> <item name="android:dividerHeight">10dip</item> <item name="android:divider">@drawable/mydivider</item> </style>


Para las personas con el mismo problema, después de casi renunciar, tuve una idea de cómo obtener el divisor.

Agregué la línea divisoria en la parte inferior de mi diseño personalizado para cada elemento

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout android:id="@+id/RelativeLayout01" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android" style="@style/ListItem2"> <TextView android:id="@+id/Text" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentLeft="true" style="@style/SpinnerView_Text" android:paddingLeft="10dip" /> <ImageView android:id="@+id/icon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/arrowright" android:layout_alignParentRight="true" android:layout_centerInParent="true" android:layout_marginRight="20dip" /> </RelativeLayout> <ImageView android:id="@+id/Divider1" android:layout_width="fill_parent" android:layout_height="1dip" style="@style/Divider"></ImageView>