Android: Diseño de Spinner personalizado
Estoy tratando de hacer un spinner totalmente personalizado. Estoy teniendo dificultades para hacer el diseño que aparece cuando se presiona sobre él. Aquí está mi código para mi adaptador:
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource( this, R.array.my_array, R.layout.spinnertext); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner.setAdapter(adapter);
A partir de lo que he leído en la documentación, el diseño utiliza apears para ser fijados por la línea:
- ¿Cómo hacer la disposición de una imagen y el texto a la izquierda y debajo de él?
- Google Currents como estilo de lectura página por página
- Espacio entre el scrollview anidado y la barra de herramientas de colapso android
- ¿Dónde debo desvincular ButterKnife 8.xx en un ViewHolder?
- Integración de archivos de vídeo en la aplicación Android como fondo de la aplicación
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
Aunque cada vez que lo cambio a un nuevo diseño que hago, hace que la aplicación falla cuando intento utilizar el spinner. He tratado de buscar lo que "android.R.simple_spinner_dropdown_item" parece para averiguar si estoy tal vez falta nada.
Todos mis diseños que he probado han sido lineales o relativos, con sólo un textView.
¿Cómo puedo hacer que aparezca un diseño personalizado cuando se selecciona la hiladora?
- recorte circular bitmap en android
- Cómo configurar la fuente personalizada para el diálogo de alerta en android?
- Crear un selector de estilos
- Cómo crear un Recycler Grid View con desplazamiento horizontal
- StackOverflowError al cambiar la visibilidad de la vista
- Cuándo usar ImageButton en lugar de ImageView?
- Cambiar la imagen de fondo de la aplicación
- Ver en el centro del diseño si hay espacio suficiente
Row.xml para configurar el diseño en cada fila (en este caso: una imagen y texto cada fila):
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <ImageView android:id="@+id/icon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/icon"/> <TextView android:id="@+id/weekofday" android:layout_width="wrap_content" android:layout_height="wrap_content"/> </LinearLayout>
Java:
public class AndroidCustomSpinner extends Activity { String[] DayOfWeek = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Spinner mySpinner = (Spinner)findViewById(R.id.spinner); ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.row, R.id.weekofday, DayOfWeek); mySpinner.setAdapter(adapter); } }