Android:禁用ListView点击时的高亮效果

310

我想禁用在触摸listView行时出现的橙色高亮。到目前为止,在我的xml中,我尝试了以下方法:

android:focusable="false"
android:focusableInTouchMode="false"
android:clickable="false"

更多信息:我希望当用户触摸此listView对象时,没有任何差异。

15个回答

5
你只需要添加: android:cacheColorHint="@android:color/transparent"

4
作为一种替代方案:
listView.setSelector(android.R.color.transparent);

或者

listView.setSelector(new StateListDrawable());

1
有一种快速简便的方式来做到这一点:

在方法中:

private void OnItemSelected(object sender, SelectedItemChangedEventArgs e)
{
    //TODO
    ((ListView)sender).SelectedItem = null;
}

希望它能有所帮助; )

这是C#而不是Java。 - Anthony
我认为大多数安卓程序员仍在使用Java,因为这是Android Studio支持的语言,但当然也可以使用C#。我只想澄清一下,这里指的是C# :D - Anthony

0

你可以直接获取从onItemClick中得到的pos,然后执行以下操作:

listView.setItemChecked(pos, false);

那是我所知道的最好的方法


0
如果您想禁用单个列表视图项的高亮显示,但保持单元格启用,请将该单元格的背景颜色设置为禁用高亮显示。
例如,在您的单元格布局中,设置android:background="@color/white"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接