Android:创建单击时闪烁的TextView

Jer*_*emy 5 android textview

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

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

你会推荐什么?

her*_*rmo 1

通常这种事情是通过使用<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>
Run Code Online (Sandbox Code Playgroud)

选择器根据其所在视图的状态在其他可绘制对象之间进行仲裁。您可以将上述 xml 放入 res/drawable/ 中的文件中,然后将其用作视图的背景。您还需要有正常的和按下的可绘制对象。

您还可以在调用它的代码中创建选择器可绘制对象StateListDrawable

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