Android – 禁用ListView选择突出显示但保持OnClick启用

我想禁用用户从代码中选择行(listSelector)时出现的突出显示。 我不想禁用onClick和启用的设置(我仍然想听点击,只想删除突出显示)。

只需创建一个透明颜色的drawable,如下所示:

         

然后按代码或XML设置:

 listView.setSelector(R.drawable.my_transparent_selector); 

这个方法的javadoc说:

设置应该用于突出显示当前所选项目的Drawable。

并且XML属性是:

机器人:listSelector

你可以玩所有的状态,记住你也有焦点状态。

ListView XML中指定android:listSelector="@android:color/transparent"

我这样做了:

通过添加ListView的两个属性。

 android:cacheColorHint="@android:color/transparent" android:listSelector="@android:color/transparent" 

您的ListView应如下所示:

   

完成

尝试listview.setSelector(new ColorDrawable(Color.TRANSPARENT));

高亮效果是listSelector上的一种样式。 您可以覆盖listSelector样式。

这是一个listview示例: Android:禁用listView上的突出显示