android listview项目突出显示不同图像的效果

时间:2013-12-03 14:10:30

标签: android listview android-listview highlight motionevent

我知道如何在listview项目上创建高亮效果,这可以通过编辑项目背景的选择器xml文件来完成

但是,我想要的是,当用户按下列表项时,不仅背景改变为另一种颜色,而且按下的项目中的图标和文本的颜色也从黑色变为白色。

我尝试将onTouchListener添加到项目视图,当事件MotionEvent.ACTION_DOWN发生时将图标更改为白色,当事件MotionEvent.ACTION_UP发生时将图标更改为黑色,但是当用户按下某个项目并拖动列表视图时,MotionEvent.ACTION_UP事件将不会因此收到的图标无法变回黑色

你能说出如何实现这个目标吗?

1 个答案:

答案 0 :(得分:0)

你可以获得UP事件,但可能不在同一个视图上,甚至不在listView上,但你仍然可以处理它。 例如,存储在某处获得DOWN事件的视图,当您获得UP事件时,处理该视图而不是您获得事件的视图。