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?

Gracias por adelantado.

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" /> 
  • Cómo cambiar el color de la barra de estado para que coincida con la aplicación en Lollipop?
  • Cómo obtener el lienzo pixel
  • Cómo convertir nombres de color a su código hexadecimal equivalente?
  • Android: Uso del selector para establecer el color de fondo para la vista de imagen
  • Cambiar el color del botón en AlertDialog
  • Cómo obtener la temperatura de color de la ganancia de corrección de color
  • Android: ¿Dónde está escondido el atributo de color del texto del widget Spinner?
  • Html.fromHtml no funciona para span
  • Cambiar el color de texto de una palabra en un TextView
  • Color del selector en LinearLayout
  • Los colores de ShapeRenderer dejan de funcionar al renderizar imágenes con SpriteBatch
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.