Пользовательский счетчик Android. выбранный элемент синего цвета

Я использую специальный спиннер. Это почти похоже на значение по умолчанию, за исключением того, что мне нужно установить отступ слева от каждого элемента (в раскрывающемся отступе в каждой строке перед текстом). Я могу это сделать. Но я также хочу показать выбранный элемент другим цветом, когда список значений отображается пользователю в виде раскрывающегося списка.

Я использовал текстовое представление как выпадающий элемент.

Может кто подскажет, можно ли это сделать. Я устал добиваться этого с помощью xml, но не нашел никакого варианта.

Заранее спасибо.

РЕДАКТИРОВАТЬ: текст выбранного элемента синего цвета.


person user2702700    schedule 12.10.2013    source источник


Ответы (3)


Вы можете указать android:dropDownSelector="@color/spinner_selector" для элемента spinner и определить цвет spinner_selector, например, #800000FF.

См. http://developer.android.com/reference/android/widget/Spinner.html#attr_android:dropDownSelector

person aleb    schedule 27.11.2013

Вы можете сделать это, следуя коду.

Просто примените стиль к своему текстовому представлению в качестве фона.



// TextStyle представляет собой XML-файл, содержащий следующий код.

<item android:state_selected="false"
    android:drawable="@android:color/white" />

<item android:state_selected="true"
    android:drawable="android:drawable="@android:color/blue"" />

person Vickyexpert    schedule 12.10.2013

Вы должны изменить цвет текстового представления во время выполнения, используя метод setOnItemSelectedListener счетчика. Например,

  spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
            TextView tv = (TextView) view.findViewById(R.id.tv );
            tv.setTextColor(R.color.green);
        }
        @Override
        public void onNothingSelected(AdapterView<?> parent) {
        }
    });
person Vishal Vaishnav    schedule 01.06.2017