5

如何设置 TextView 在单击时闪烁?闪烁的意思是我想更改 TextView 的背景颜色。我本质上想要一个在 ListActivity 中显示的对象,但在普通视图中。

我试图通过添加一个 OnClickListener 来做到这一点,但我真正需要的是添加一个 On(Un)SelectListener 之类的东西。使用 onClickListener,我可以更改 TextView 背景,但显然背景保持该颜色。我想在一小段时间后使用 new Handler().postDelayed(new Runnable(){ ... }) 之类的东西来重置背景,但我不知道这对我正在尝试的东西是否有点过分去做。

你会推荐什么?

4

1 回答 1

1

通常这种事情是通过有一个<selector>drawable来实现的。例如:

<?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

但也许你的解决方案更简单......

于 2010-05-26T02:45:02.263 回答