ListView项目ColorFilter on Press

时间:2014-07-12 04:49:48

标签: android listview

我一直致力于一个项目,其中一部分包括一个列表视图。单击列表视图中的项目时,它将链接到另一个活动。但是当我点击它时,没有立即反应。例如,在我的一个活动中,我有一个按钮,我使用setOnTouchListener,这样当按下按钮时,它有一个颜色过滤器,一个被释放,过滤器消失了,下一个活动打开。我希望与列表视图项具有类似的效果。

我已尝试在listView上使用onTouchListener执行相同的任务,但它不起作用。我使用setSelected(bool)来使用xml文件中的android:state_selected属性更改列表视图的背景。 (请参阅此处了解我的工作方式Android ListView selected item stay highlighted)。

但它不起作用,因为onTouchListener中的视图与我需要的视图(特定列表视图项)不同。那么有没有办法在按下时突出显示列表视图中的项目?

1 个答案:

答案 0 :(得分:0)

你必须为此做出选择。等,

list_item_selector.xml  
------------------------
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="false"
      android:state_pressed="false" 
      color android:color="#FF0000"/>
<item android:state_pressed="true">
 <color android:color="#AA736F6E" />
 </item>
<item android:state_selected="true"
      android:state_pressed="false">
    <color  android:color="#00000000"/>

你必须在listview中设置这个选择器以及listitem的布局。像这样,

<ListView
    android:id="@+id/mylist"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:cacheColorHint="#AA736F6E"
    android:clickable="true"
    android:background="@drawable/list_item_selector"
    android:divider="#737CA1"
    android:dividerHeight="0.5dp"
    android:choiceMode="singleChoice">
</ListView>

并在列表项中设置                                         
         

跳跃它是工作