Android Cambiar el color de texto de Spinner (texto mostrado – no elementos en el hilandero)

Excepto en una pantalla, el Spinner necesita tener texto 'negro'. La pantalla requiere que Spinner tenga el color "blanco" (tanto el texto mostrado para el elemento seleccionado como los elementos giratorios).

Aquí está la imagen para una mejor claridad. la imagen superior es cómo aparece en color negro y la parte inferior es la imagen de los elementos del hilandero con el color de texto blanco

Puedo conseguir el color "blanco" para los artículos del hilandero pero no el texto exhibido seleccionado. Una vez más, no quiero cambiar globalmente el estilo – sólo esta pantalla. es posible?

 public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) { int index = adapterView.getSelectedItemPosition(); ((TextView) spinner.getSelectedView()).setTextColor(getResources().getColor(R.color.white)); } 

Cuando usted crea Spinner usted tiene que proporcionarle el adaptador. Si estaba utilizando la implementación estándar de los desarrolladores de Android:

  Spinner spinner = (Spinner) findViewById(R.id.spinner); // Create an ArrayAdapter using the string array and a default spinner layout ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.planets_array, android.R.layout.simple_spinner_item); 

Que lo que puede hacer es crear su propio diseño que para representar el texto del elemento seleccionado que se proporciona como y ponerlo en el adaptador y allí se puede proporcionar el atributo 'textColor', algo así:

 <?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/text1" style="?android:attr/spinnerItemStyle" android:singleLine="true" android:textColor="@color/primary_blue" android:layout_width="match_parent" android:layout_height="wrap_content" android:ellipsize="marquee" android:textAlignment="inherit"/> 

Si utiliza ArrayAdapter.createFromResource() no olvide tener TextView con android:id="@android:id/text1" para que este adaptador pueda enlazar datos a su diseño.

  • Problema de estilo al superponer getDropDownView en ArrayAdapter
  • Android Appcompat v21 - utilizar el estilo antiguo del hilandero
  • No se puede marcar / desmarcar CheckedTextView dentro de getView
  • Android: Necesidad de cambiar el color de fondo del spinner
  • Dynamic Spinners - si se selecciona un elemento de un hilandero, ocúltalo de otros hiladores - Android
  • Cómo colorear y alinear el elemento spinner en android?
  • Cómo ordenar HashMap como agregado en Android con ArrayAdapter
  • getSelectedItemPosition spinner da resultado incorrecto
  • Android spinner onItemSelected llamado varias veces después de la rotación de la pantalla
  • Posicionar dinámicamente la flecha de la esquina derecha del ActionBar Spinner en función de la longitud del título mostrado
  • Barra de acciones setnavigationmode deprecated
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.