Android GridView项目发布的视觉反馈

Android GridView项目发布的视觉反馈,android,gridview,Android,Gridview,我正在从另一个平台移植一个应用程序,并使用GridView实现音板的UI。网格中的每个项都是用XML定义的简单自定义布局,由根目录下的RelativeLayout和子ImageView组成,子ImageView用于保存位图,TextView用于保存某些文本。用户按下该项,它会播放声音。一切都很好。缺少的是GridView项被按下然后释放的某种视觉反馈。在另一个平台上,添加这样的动画相对来说很简单 Android上的GridView控件是否有内置的方式来实现这一点,还是我必须自己启动?我在想我可以

我正在从另一个平台移植一个应用程序,并使用GridView实现音板的UI。网格中的每个项都是用XML定义的简单自定义布局,由根目录下的RelativeLayout和子ImageView组成,子ImageView用于保存位图,TextView用于保存某些文本。用户按下该项,它会播放声音。一切都很好。缺少的是GridView项被按下然后释放的某种视觉反馈。在另一个平台上,添加这样的动画相对来说很简单


Android上的GridView控件是否有内置的方式来实现这一点,还是我必须自己启动?我在想我可以使用setOnTouchListener()来获取ACTION_DOWN和ACTION_UP事件,确定它所在的网格中的项目,然后对每个事件的项目应用ScaleAnimation。然而,对于一个基本特性来说,这似乎过于复杂了。我遗漏了什么明显的东西吗?

你可以用。在
MotionEvent.ACTION\u DOWN
上启用它,并在
MotionEvent.ACTION\u UP
上禁用它(例如,将颜色过滤器设置为
null
或调用
clearColorFilter()
将此文件放入可绘图文件夹。
my_custom_bg.xml

    <?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:drawable="@drawable/abc_list_pressed_holo_dark" android:state_enabled="true" android:state_pressed="true"/>
    <item android:drawable="@drawable/abc_list_pressed_holo_dark" android:state_enabled="true" android:state_focused="true"/>
    <item android:drawable="@drawable/abc_list_pressed_holo_dark" android:state_enabled="true" android:state_selected="true"/>
    <item android:drawable="@drawable/defaultbackground" android:state_enabled="true" android:state_selected="false"/>
    <item android:drawable="@drawable/defaultbackground" android:state_enabled="true"></item>

</selector>

谢谢我不知道滤色器,所以这很有帮助。因此,听起来GridView中没有内置任何用于视觉反馈的内容。我必须监听UI事件并修改代码中的可视状态。似乎是这样。这非常有效。我尝试使用我在问题中提到的setOnTouchListener()方法,但它变得不必要的复杂。我的选择器几乎完全相同,只是我在项目中使用了颜色(例如“@color/My_color_1”),而不是可绘制的。
textView.setBackgroundResource(R.drawable.my_custom_bg);