texto estilos color cambiar android text colors spinner

estilos - Android: ¿Dónde se esconde el atributo de color del texto del widget Spinner?



cambiar color de texto spinner android (7)

Creo que es probablemente este poco en styles.xml

<style name="Widget.TextView.SpinnerItem"> <item name="android:textAppearance">@style/TextAppearance.Widget.TextView.SpinnerItem</item> </style> <style name="Widget.DropDownItem.Spinner"> <item name="android:checkMark">?android:attr/listChoiceIndicatorSingle</item> </style>

- = EDIT = - Aquí está el resultado:

y así es como se hace:

<?xml version="1.0" encoding="utf-8"?> <resources> <style name="MooTheme" parent="android:Theme"> <item name="android:spinnerItemStyle">@style/MooSpinnerItem</item> </style> <style name="MooSpinnerItem" parent="android:Widget.TextView.SpinnerItem"> <item name="android:textAppearance">@style/MooTextAppearanceSpinnerItem</item> </style> <style name="MooTextAppearanceSpinnerItem" parent="android:TextAppearance.Widget.TextView.SpinnerItem"> <item name="android:textColor">#F00</item> </style> </resources>

A continuación, solo agregue esto a la etiqueta de la aplicación en su AndroidManifest.xml

android:theme="@style/MooTheme"

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.


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<CharSequence> 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<CharSequence> 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 resto 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:

<Spinner android:id="@+id/mo_spinnerSubject" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="5dp" android:background="@drawable/spinnerset_background" />

y mi simple_spinner_item.xml ahora contiene:

<TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/text1" android:layout_width="match_parent" android:layout_height="wrap_content" android:singleLine="true" android:textColor="@color/custom_white" android:textSize="16sp" />

y el simple_spinner_dropdown_item.xml se ve así:

<TextView 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="?android:attr/listPreferredItemHeight" android:background="@color/custom_black" android:ellipsize="marquee" android:singleLine="true" android:textColor="@color/custom_white" />


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:

http://www.designerandroid.com/?p=28


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); } });


Sí CaseyB es correcto.

Así es como configuré el color del texto del spinner, un pequeño ejemplo simple:

styles.xml

<style name="Theme.NoTitleBar.WithColoredSpinners" parent="@android:style/Theme.NoTitleBar"> <item name="android:spinnerItemStyle">@style/SpinnerItem</item> <item name="android:spinnerDropDownItemStyle">@style/SpinnerItem.DropDownItem</item> </style> <style name="SpinnerItem" parent="@android:style/Widget.TextView.SpinnerItem"> <item name="android:textColor">#00FF00</item> </style> <style name="SpinnerItem.DropDownItem" parent="@android:style/Widget.DropDownItem.Spinner"> <item name="android:textColor">#FF0000</item> </style> </resources>

Entonces en tu manifestación:

<application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/Theme.NoTitleBar.WithColoredSpinners" >

El texto en el exterior de todos tus marcadores ahora será Verde y el texto en los desplegables será rojo.


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

<style name="spinnerTheme" parent="android:Theme"> <item name="android:textColor">@color/gray_dark</item> </style>

luego en tu xml donde has configurado tu spinner agrega esto:

android: theme = "@ style / spinnerTheme "

<Spinner android:id="@+id/spinner" android:layout_width="match_parent" android:layout_height="50dp" android:padding="10dp" android:paddingBottom="5dp" android:paddingLeft="10dp" android:layout_span="3" android:layout_weight="1.3" android:theme="@style/spinnerTheme" android:textSize="12sp" android:spinnerMode="dialog" android:clickable="false"/>

Disfruta Codificando


esto funcionó para mí crear tu propio archivo de diseño con una definición personalizada para el ítem giratorio.

custom_spinner.xml: <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/txt_spinner" android:layout_width="match_parent" android:layout_height="wrap_content" android:textSize="16sp" android:textColor="#ffffff" />

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);