Cambiar el color de la flecha desplegable de Spinner en XML
Como escribí en mi pregunta, quiero cambiar el color de la flecha hacia abajo (la flecha por defecto, no una flecha personalizada o algo así) de un Spinner
en XML , pero el problema es que no pude encontrar nada para Hacer referencia a ella desde el XML
.
¿Es posible? En caso afirmativo, ¿cómo puedo cambiar el color?
- Patrón de relleno en Imagen en Android
- Quiero crear un "modo nocturno" rojo para mi aplicación para Android
- ¿Cómo cambiar el tema de color de la aplicación Android?
- Android: Cambia el color de RadioButtons y las casillas de verificación programáticamente
- Cómo tintar un mapa de bits a un color sólido
Gracias por adelantado.
- ¿Cuáles son las maneras de generar programáticamente conjuntos de colores de Material Design?
- Android: Utilizar colores de resaltado predeterminados en un botón personalizado
- Mediacodec y cámara, espacio de color incorrecto
- ¿Hay una API de Android para obtener el botón predeterminado presionado / colores seleccionados?
- Android: java.lang.IllegalArgumentException: color desconocido
- ¿Marcador de mapa de Android?
- Estados dibujables con colores (no dibujables)
- No se puede cambiar el color del botón de radio en Android
Hay tres maneras de lograr eso.
1. A través del código:
En su xml, asegúrese de que su hilandero tiene un id. Digamos que tenemos un spinner con id "spinner".
En su código, agregue lo siguiente en su onCreate ():
Spinner spinner = (Spinner) findViewById(R.id.spinner); spinner.getBackground().setColorFilter(getResources().getColor(R.color.red), PorterDuff.Mode.SRC_ATOP);
Donde rojo es el color definido en colors.xml en la carpeta de valores.
2. A través de xml:
Para API 21+:
<Spinner android:layout_width="wrap_content" android:layout_height="wrap_content" android:backgroundTint="@color/red" />
O si utiliza la biblioteca de soporte, puede utilizar:
<android.support.v7.widget.AppCompatSpinner android:layout_width="wrap_content" android:layout_height="wrap_content" app:backgroundTint="@color/red" />
3. A través de estirables:
Puede utilizar esta herramienta en línea: http://android-holo-colors.com
Esto generará drawables personalizados para cualquier vista que desee con su color preferido. Asegúrese de seleccionar el hilandero, luego descargue los recursos.
Me sorprende que nadie lo haya señalado, pero sólo puede subclase Widget.AppCompat.Spinner
y cambiar backgroundTint
<style name="Spinner" parent="Widget.AppCompat.Spinner"> <item name="backgroundTint">@color/spinnerTint</item> </style>
Y aplicarlo al Spinner
<Spinner style="@style/Spinner" android:layout_width="wrap_content" android:layout_height="wrap_content" android:spinnerMode="dropdown" />
Utilizar el atributo backgroundTint
<Spinner android:layout_width="wrap_content" android:layout_height="wrap_content" android:backgroundTint="@color/white" />
Si min_SDK <21 (Lollipop) debe utilizar AppCompatSpinner
<android.support.v7.widget.AppCompatSpinner android:layout_width="wrap_content" android:layout_height="wrap_content" app:backgroundTint="@color/white" />
prueba esto:
spinner_age.getBackground().setColorFilter(ContextCompat.getColor(this, R.color.spinner_icon), PorterDuff.Mode.SRC_ATOP);
<Spinner android:id="@+id/spinner" android:layout_width="match_parent" android:layout_height="wrap_content" android:backgroudTint="#00000" />
- Java.io.IOException: No se han encontrado problemas de autenticación
- ¿Cómo puedo hacer encabezados pegajosos en RecyclerView? (Sin librería externa)