#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 используйте или свой лэйаут или возьмите у андроида (который обычно используется в обычном адаптере).
Комментариев нет:
Отправить комментарий