Android: создать TextView, который мигает при нажатии - PullRequest
5 голосов
/ 02 апреля 2010

Как настроить TextView для мигания при нажатии на него? Мигая, я имею в виду, что я хочу изменить цвет фона TextView. По сути, я хочу один из объектов, который отображается в ListActivity, но внутри обычного представления.

Я пытался сделать это, добавив OnClickListener, но мне действительно нужно что-то вроде добавления On (Un) SelectListener. Используя onClickListener, я могу изменить фон TextView, но, очевидно, фон остается тем же цветом. Я думал об использовании нового типа Handler (). PostDelayed (new Runnable () {...}) для сброса фона через некоторое время, но я не знал, будет ли это излишним для того, что я пытаюсь делать.

Что бы вы порекомендовали?

1 Ответ

1 голос
/ 26 мая 2010

Обычно такого рода вещи достигаются с помощью <selector>. Например:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" android:drawable="@drawable/pressed" />
    <item android:drawable="@drawable/normal" />
</selector>

Селектор осуществляет арбитраж между другими объектами рисования в зависимости от состояния представления, в котором он находится. Вы поместили вышеупомянутый XML-файл в файл res / drawable /, а затем использовали его в качестве фона для представления. Вам также необходимо иметь обычные и отжатые чертежи.

Вы также можете создать селектор-отрисовку в коде, где он называется StateListDrawable.

Но, возможно, ваше решение проще ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...