Android Изменить цвет текста Spinner (отображаемый текст – нет элементов в spinner)

За исключением одного экрана, Spinner должен иметь «черный» текст. Для одного экрана требуется, чтобы Spinner имел «белый» цвет (оба отображали текст для выбранного элемента и элементов прядильника).

Вот изображение для лучшей ясности. Верхнее изображение - это то, как оно отображается в черном цвете, а нижнее - изображение элементов с прямыми элементами с белым цветом текста

Я могу получить «белый» цвет для элементов-счетчиков, но не для выбранного отображаемого текста. Опять же, я не хочу глобально менять стиль – только этот экран. Это возможно?

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

Когда вы создаете Spinner, вы должны предоставить ему адаптер. Если вы использовали стандартную реализацию от разработчиков 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); 

Чем вы можете сделать, так это создать свой собственный макет, который для представления выбранного текста элемента, который предоставляется как и помещенный внутри адаптера, и там вы можете предоставить атрибут textColor, что-то вроде этого:

 <?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"/> 

Если вы используете ArrayAdapter.createFromResource() , не забывайте иметь TextView с android:id="@android:id/text1" чтобы этот адаптер мог привязывать данные к вашему макету.

Intereting Posts
RecyclerView аварийно завершает работу, когда «пересмотренные или присоединенные виды не могут быть переработаны» Ошибка проверки подписи – покупка Android-приложений Android два списка вертикально, используя 50% -50% высоты экрана Создает ли родительский клик для всех дочерних элементов кликабель? Не удалось установить из-за таймаута в эмуляторе Как определить (подсчитать) волосы с помощью изображения с помощью OpenCV? «Падение назад в режиме PROMPT с тех пор, как ошибка _cordovaNative отсутствует» в старых версиях Android SDK Как получить эскиз для видео в папке / sdcard / Android / data / mypackage / files? Android, SlidingPaneLayout и listView Как легко хранить постоянные данные без использования баз данных? Конфигурация Android Proguard для библиотеки поддержки V7 ActionBar Полноэкранный режим DialogFragment показывает отступ по бокам Android 6.0 Marshmallow перестает показывать Вертикальный указатель SeekBar Воспроизведение звука MediaPlayer между действиями, но пауза / возобновление, когда фон теряет фокус и возвращается? Как удалить Дублирующее значение из arraylist в Android