Чтобы изменить цвет выбранного элемента (item) в Android, вы можете использовать состояния элемента в XML-файле ваших ресурсов. Для этого обычно используется файл selector
.
1. Начните с создания XML-файла ресурсов для вашего селектора. Например, создайте файл selector_item_color.xml
в папке res/color
.
2. Определите состояние выбранного элемента в вашем файле селектора. Для этого вы можете воспользоваться атрибутом android:state_selected
.
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_selected="true" android:color="@color/selected_color" /> <item android:color="@color/default_color" /> </selector>
Здесь @color/selected_color
и @color/default_color
- это ссылки на цвета, которые вы определили в файлах цветов в папке res/color
.
3. Примените селектор к вашему элементу в макете XML. Например, если вы хотите применить этот селектор к текстовому виджету TextView:
<TextView android:id="@+id/my_textview" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Пример текста" android:textColor="@color/selector_item_color" />
4. Наконец, в коде вашей активности или фрагмента установите слушатель кликов на ваш элемент, чтобы изменять его состояние выбора:
TextView textView = findViewById(R.id.my_textview); textView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { v.setSelected(true); // Установить состояние выбора } });
Теперь, когда элемент будет выбран (кликнут), его цвет изменится на selected_color
, заданный в селекторе, и при повторном клике вернется к цвету default_color
.