Android Eclipse todas las fuentes Spinner se convirtieron en blanco
En mi proyecto, todas las fuentes Spinner de repente se convirtió en blanco por una razón que no puedo encontrar. Antes de que todos fueran negros. Por ejemplo, en una ruleta, la lista desplegable aparece en blanco. Su archivo XML es el siguiente;
<Spinner android:id="@+id/mainactivity_spinner_city" android:fontFamily="Roboto" android:layout_width="250dp" android:layout_height="wrap_content" android:layout_below="@+id/mainactivity_imageview_logo" android:layout_marginTop="15dp" />
Para asegurarme, agregué # 000000 a todos los lugares relacionados, pero la lista sigue siendo blanca. La ruleta se llena con el siguiente método;
- Android: animateLayoutChanges = "true" con setVisibility (View.GONE)
- Elemento de menú de Android con el icono y el texto juntos cuando showAsAction nunca es
- Las guías de la API de Android son un poco confusas para mí sobre el atributo android: onClick XML
- XML dibujable compuesto de png y superposición
- Android - tema de los padres desaparecidos?
ArrayAdapter<String> dataAdapter2 = new ArrayAdapter<String>(context, android.R.layout.simple_spinner_item, list); dataAdapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner.setAdapter(dataAdapter2);
Así que añadí color negro a simple_spinner_item y simple_spinner_dropdown_item también, pero todavía no hay cambio. En la parte Java, no hago nada relacionado con el color. ¿Qué puede estar causando que todos estos textos sean blancos?
Edit: Sólo los hilanderos tienen problemas. Puedo cambiar los colores de texto de otros elemen. Pero no puedo cambiar los hiladores a pesar de haber insertado textColor: "# 000000" en cualquier lugar relacionado con los hilanderos.
- Cómo recuperar atributos de estilo mediante programación de styles.xml
- Recursos de la cadena de fondo de Android
- No se puede resolver drawable en el atributo "src"
- ¿Cómo establecer un fondo diferente para la tecla de función en xml en el teclado?
- Android: mover el texto del botón a la parte inferior
- Cómo agregar un degradado a los botones en android a través de xml?
- Color del borde en el botón de Android
- El botón no cambia su forma en el selector
La razón ha sido encontrada.
Mientras estaba abordando con otros hilanderos en otro programa, me di cuenta de que este extraño hecho causó la fuente de convertirse en blanco. Incluso esta pregunta parece un problema de estilo, la razón subyacente es sobre el contexto de la aplicación. En mi código antiguo, usé el siguiente código para rellenar Spinner;
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_spinner_item, list);
Entonces cambié el parámetro del contexto como sigue;
ArrayAdapter<String> adapter= new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_spinner_item, list);
¡Entonces todas las fuentes blancas no deseadas se hicieron negras !!
Si utiliza getApplicationContext()
como parámetro de contexto, es posible que parte de su estilo sea incorrecto. Así que tratando de llamar al contexto directamente codificado como YourActivity.this
en el adaptador resolverá el problema.
El estilo de tema aplicado a su proyecto puede causar este problema, intente cambiar el atributo de tema en manifiesto . El color de texto completo de la aplicación solo puede cambiarse desde el estilo de tema. Intente quitar la etiqueta del tema del archivo de manifiesto y marque el color si cambia al valor predeterminado y, a continuación, puede crear su propio tema con cualquier texto de color que se aplique en él.
Cree el archivo xml spinner_dropdown_item.xml y pegue el código siguiente:
<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/text1" style="?android:attr/spinnerDropDownItemStyle" android:layout_width="match_parent" android:layout_height="wrap_content" android:ellipsize="marquee" android:singleLine="true" android:textColor="#000000" android:textSize="23sp" android:padding="17dip"/>
En su archivo .java, agregue el código:
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>( getApplicationContext(), android.R.layout.simple_spinner_item, list); //This line sets spinner_dropdown_item.xml as your spinner item dataAdapter .setDropDownViewResource(R.layout.spinner_dropdown_item); spinner.setAdapter(dataAdapter);
Es posible que haya cambiado el tema de la aplicación accidentalmente en el diseño. Así que sólo tiene que cambiar el tema. Ir a cualquier diseño y abrir en el diseño gráfico a continuación, puede ver la opción del tema de la aplicación en la paleta superior. Cambia eso a cualquier blanco. Y para cambiar todo el diseño de la aplicación, puedes hacerlo en el archivo manifest.like.
<application android:theme="@style/AppTheme" >---- </application>
- Clase común para el oyente de clics
- ¿Es posible utilizar Javascript / CSS para intercambiar hojas de estilo cuando un dispositivo móvil gira?