java - texto - spinner dinamico android studio
¿Agregar más espacio entre los elementos en Android Spinner sin estilo personalizado? (5)
Tengo una aplicación para Android que estoy escribiendo para una empresa concreta que se utilizará para registrar el tiempo de entrada y salida. He utilizado algunos giradores para seleccionar elementos como Sitio de trabajo y Trabajo de los menús desplegables, pero me preocupa que los elementos de los giradores estén demasiado cerca y sea difícil para los empleados seleccionar el elemento correcto.
Me gustaría dejar solo un poco más de espacio entre los elementos del girador, pero no quiero pasar por todos los problemas de crear un estilo personalizado, porque realmente quiero que el girador se vea y se comporte exactamente como el predeterminado, excepto solo tener un poco más de relleno, y es mucho trabajo tener que crear un estilo personalizado solo para eso.
¿Hay algún cambio simple que pueda hacer, como establecer alguna propiedad del hilandero? He intentado configurar el tipo de control de giro en Diálogo, pero solo muestra la lista con la misma cantidad de espacio, pero no está adjunta al control del control de giro.
A menos que desee un espaciado realmente específico, me gustaría ir con uno de los diseños integrados.
simple_spinner_item = No line space.
simple_spinner_dropdown_item = 1 line space.
simple_dropdown_item_1line = 1.5 line space.
Estos y más se encuentran en R.class
Creo que la respuesta de Pragnani es correcta, pero así es como lo implementé ...
-En RES / layout, creó un diseño XML con solo una vista de texto, como se muestra a continuación. Esta vista de texto tiene el tamaño / relleno personalizado que quiero.
spinner_row.xml
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/cust_view"
android:minWidth="246dp"
android:layout_width="match_parent"
android:layout_height="48dp"
android:gravity="left|center_vertical"
android:textColor="@android:color/black"
android:textSize="20sp"
android:paddingLeft="4dp"
android:textIsSelectable="false"/>
Luego, en la actividad en la que cargo mis datos en el spinner, cuando creo un ArrayAdapter para mi spinner, paso la vista de texto personalizada como segundo parámetro al constructor ArrayAdapter.
Spinner spinClockInWorkSite = (Spinner)findViewById(R.id.spinClockInWorkSite);
ArrayAdapter spinClockInWorkSiteAdapter = new ArrayAdapter(this, R.layout.spinner_row, this.workSiteList);
spinClockInWorkSite.setAdapter(spinClockInWorkSiteAdapter);
Así que ahora la ruleta usa mi vista de texto personalizada que está definida en spinner_row.xml para cada elemento de la lista.
Esto terminó siendo más sencillo para mis necesidades que jugar con el estilo.
Intente esto. Aquí no está cambiando el estilo de giro, sino que agrega la característica adicional que desea para sus elementos de giro al establecer el estilo para el elemento de Spinner.
<style name="spinnerStyle" parent="@android:style/Widget.TextView.SpinnerItem">
<item name="android:padding">5sp</item>
</style>
Y aplica el estilo a tu spinner usando el atributo de estilo.
style="@style/spinnerStyle"
Si desea dar un espaciado satisfactorio, en lugar de eso, si todos estos XML y todos, puede usar fácilmente "simple_spinner_dropdown_item" en el adaptador de giro.
Me gusta
String [] dataList = new String[]{"Select","A","B","C","D","E"};
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_dropdown_item, dataList);
spinner.setAdapter(dataAdapter);
Funciono para mi
adapter=new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line,
ArrayList);