Страницы

Поиск по вопросам

среда, 22 января 2020 г.

Изменение цвета подписи Spinner

#android #kotlin


Делаю приложение для изменения цвета приложения



Как изменить цвет подписи у Spinner программно, т.к. в зависимости от цвета должен
меняться и цвет текста. Хотел через setTextColor как у кнопок, но у Spinner нет такого
метода
    


Ответы

Ответ 1



Подключите к вашему Spinner вот такой адаптер: public class MySpinnerAdapter extends ArrayAdapter { Context ctx; List objects; MySpinnerAdapter(Context context, String[] objects) { super(context, R.layout.item_spinner, objects); ctx = context; this.objects = Arrays.asList(objects); } //для показа в меню @Override public View getDropDownView(int position, View convertView, @NonNull ViewGroup parent) { return getCustomView(position, convertView, parent); } //для показа в закрытом виде @NonNull @Override public View getView(int position, View convertView, @NonNull ViewGroup parent) { return getCustomView(position, convertView, parent); } View getCustomView(int position, View convertView, ViewGroup parent) { if (convertView == null) convertView = View.inflate(ctx, R.layout.item_spinner, null); ... ваша логика изменения цвета: if () { convertView.setBackground(нужный цвет); } return convertView; } @Override public int getCount() { return objects.size(); } } И в нем пропишите логику смены цвета. В качестве R.layout.item_spinner используйте или свой лэйаут или возьмите у андроида (который обычно используется в обычном адаптере).

Комментариев нет:

Отправить комментарий