Настройка цвета фона для элемента Spinner по выбору

Я использую элемент управления Spinner в своем коде. Я хочу, чтобы элемент был выделен (т. Е. Цвет фона изменен для этого элемента) при выборе. Как это можно достичь?

Создайте xml: например: mybg.xml

<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="false" android:drawable="@color/anyColor" /> <item android:drawable="@android:color/transparent" /> </selector> 

И в вашей деятельности xml

делать

  <Spinner............... android:drawSelectorOnTop="true" android:background="@drawable/mybg"/> 
  1. Создайте собственный макет вида (например, из TextView)
  2. Создайте селектор и установите его как фон этого вида.
  3. Установите Spinner с пользовательским представлением

Селектор: custom_selector.xml

 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_focused="true" android:state_pressed="false" android:drawable="@color/light_grey" /> <item android:state_focused="true" android:state_pressed="true" android:drawable="@color/light_grey" /> <item android:state_focused="false" android:state_pressed="true" android:drawable="@color/light_grey" /> <item android:state_selected="true" android:drawable="@color/light_grey"/> <item android:drawable="@color/white" /> </selector> 

Макет пользовательского вида: my_simple_item

 <?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:lines="1" android:padding="5dip" android:background="@drawable/custom_selector"/> 

Инициализационный счетчик:

 String[] items = new String[] {"One", "Two", "Three"}; Spinner spinner = (Spinner) findViewById(R.id.mySpinner); ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.my_simple_item, items); 

Надеюсь это поможет

Intereting Posts
Как вернуть String или JSONObject из асинхронного обратного вызова с помощью Retrofit? Android: недопустимое использование SingleClientConnManager: соединение по-прежнему выделено Android Media Player перезагружает аудиозапись после выключения Отсутствует объект android.os.handler из Android Studio AsyncTask работает на Android 2.3.3, но не на ICS Проблема с Android tabHost и tabWidget Получение веб-шрифтов для работы с телефоном и андроидом – как? LibGDX получает пиксельный цвет от спрайта или текстуры AppBarLayout.setExpanded (логическая, истинная) странная анимация в библиотеке поддержки 23.1.1 Наполнять spinner динамически динамически в Android? Как вручную установить java-библиотеки и сохранить / tmp как noexec? Не удается установить пакет Android Studio Bundle? «Невозможно повысить сообщение об ошибке» Текстовое поле скрыто под клавиатурой в веб-браузере Android Android – определение неполадок отправки SMS API данных Youtube с OAuth2.0 на Android