我想禁用当触摸listView行时出现的橙色高亮。到目前为止,在我的xml我已经尝试了以下:
android:focusable="false"
android:focusableInTouchMode="false"
android:clickable="false"
更多信息:我希望当用户在这个listView对象上触摸屏幕时,没有任何差异。
我想禁用当触摸listView行时出现的橙色高亮。到目前为止,在我的xml我已经尝试了以下:
android:focusable="false"
android:focusableInTouchMode="false"
android:clickable="false"
更多信息:我希望当用户在这个listView对象上触摸屏幕时,没有任何差异。
当前回答
把这个也添加到你的XMl和listselector..希望它会工作
<ListView
android:cacheColorHint="@android:color/transparent"
android:listSelector="@android:color/transparent"/>
其他回答
没有什么能帮助我,只有这个:
transparent_drawable.xml:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#00000000"/>
</shape>
layout.xml:
android:listSelector="@drawable/transparent_drawable"
在虚拟和真实设备上进行了一些“谷歌”测试后,我注意到下面的代码是有效的:
ArrayAdapter<String> myList = new ArrayAdapter<String>(this, R.layout.list_item, strText) {
public boolean isEnabled(int position)
{
return false;
}
};
注意,我省略了areAllItemsEnabled()部分。
你可以从onItemClick中获得pos 和做的事:
listView.setItemChecked(pos, false);
这是我知道的最好的方法
在代码中
listView.setSelector(getResources().getDrawable(R.drawable.transparent));
并添加小透明图像到可绘制文件夹。
如: transparent.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#00000000"/>
</shape>
橙色的高亮效果是ListView上的一个样式。本文很好地概述了如何重写listView样式。
从本质上讲,您有一个选择器,它根据当前状态指定不同的样式元素。
请看这个简短而快速的解决方案https://stackoverflow.com/a/12242564/185022