Intento cambiar el color del texto del elemento individual que se muestra en el botón giratorio después de seleccionar un elemento del menú desplegable. He estado examinando themes.xml y styles.xml en el SDK de Android durante una hora, y parece que no puedo encontrar dónde obtiene Spinner el valor del color.
Para aclarar, NO trato de cambiar el color de un elemento desplegable, estoy tratando de cambiar el color del texto que se muestra cuando no hay un menú desplegable. Supongo que se podría llamar el texto del “botón” del rotador.
Creo que es probablemente este poco en styles.xml
– = EDIT = – Aquí está el resultado:
y así es como se hace:
A continuación, solo agregue esto a la etiqueta de la aplicación en su AndroidManifest.xml
android:theme="@style/MooTheme"
Sí CaseyB es correcto.
Así es como configuré el color del texto del spinner, un pequeño ejemplo simple:
styles.xml
Entonces en tu manifestación:
El texto en el exterior de todos tus marcadores ahora será Verde y el texto en los desplegables será rojo.
Lo hice usando otra técnica simple,
copie el archivo simple_spinner_item.xml y simple_spinner_dropdown_item.xml de la carpeta res / layout de Android y cópielos en su proyecto.
Luego modifica las siguientes líneas
ArrayAdapter adapter = ArrayAdapter.createFromResource(this, R.array.planets_array, Android.R.layout.simple_spinner_item); adapter.setDropDownViewResource(Android.R.layout.simple_spinner_dropdown_item); spinnerSubject.setAdapter(adapter);
como:
ArrayAdapter adapter = ArrayAdapter.createFromResource(this, R.array.planets_array, R.layout.simple_spinner_item); adapter.setDropDownViewResource(R.layout.simple_spinner_dropdown_item); spinnerSubject.setAdapter(adapter);
El rest es fácil, ahora puede editar el simple_spinner_item.xml para editar la apariencia de un elemento visible en el widget giratorio, y edite el simple_spinner_dropdown_item.xml para cambiar el aspecto de la lista desplegable.
Por ejemplo, mi diseño de actividad contiene:
y mi simple_spinner_item.xml ahora contiene:
y el simple_spinner_dropdown_item.xml se ve así:
Puede usar setOnItemSelectedListener en el objeto Spinner,
spinnerObject.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView> parentView, View selectedItemView, int position, long id) { ((TextView)parentView.getChildAt(0)).setTextColor(Color.rgb(249, 249, 249)); // OR ((TextView)parentView.getChildAt(0)).setTextColor(Color.RED); } });
es muy simple en realidad. Estaba buscando todo lo que necesita para crear estilo y configurar en spinner
primero crea tu tema en Style.xml
luego en tu xml donde has configurado tu spinner agrega esto:
android: theme = “@ style / spinnerTheme ”
Disfruta Codificando
No creo que haya un color asociado con el texto. Lo más probable es que esté predefinido en el código de Android, puede que tenga que hacer el suyo si quiere cambiar el color del girador.
Esto incluiría cambiar el método ondraw () y dibujará el girador cómo le gustaría que se vea.
Lo único que creo que podría resolver este problema es la propiedad de estilo de la ruleta.
Fuente: http://developer.android.com/reference/android/widget/Spinner.html
Esto podría ayudar:
esto funcionó para mí crear tu propio archivo de diseño con una definición personalizada para el ítem giratorio.
custom_spinner.xml:
Cambiar el elemento giratorio con adaptador
Spinner spinner= (Spinner) findViewById(R.id.spinner1); ArrayAdapter adapter = ArrayAdapter.createFromResource(this,R.array.by_loc_array,R.layout.txt_spinner); spinner.setAdapter(adapter);