Эффект подсветки элемента списка Android с другим изображением

Я знаю, как создать эффект выделения на элементе списка, это можно сделать, отредактировав XML-файл селектора фона элемента.

НО, что я хочу, чтобы, когда пользователь нажимал элемент списка, не только фон менялся на другой цвет, но и цвет значка и текста в нажатом элементе менялся с черного на белый.

Я попытался добавить onTouchListener в представление элемента, изменить значок на белый, когда произошло событие MotionEvent.ACTION_DOWN, и черный, когда произошло событие MotionEvent.ACTION_UP, но когда пользователь нажал элемент и перетащил представление списка, событие MotionEvent.ACTION_UP не будет получено, поэтому значок не может вернуться к черному

Можете ли вы дать представление о том, как этого добиться?

1 ответ

Решение

Вы можете получить событие UP, но, возможно, не в том же представлении, или даже не в listView, но вы все равно можете его обработать. например, где-то хранится представление, получившее событие DOWN, а когда вы получаете событие UP, обрабатывайте это представление, а не представление, на котором вы получили событие.

Другие вопросы по тегам