Android:禁用GridView中的高亮显示

66

当我在GridView中点击一个项目时,如何关闭橙色高亮显示?

我在文档或测试中都没有找到解决方案。


相关:如果您想完全禁用Android GridView的高亮和选择,并仅将其用于布局,或通过onTouch / Click /等侦听器手动处理选择,请参考“完全禁用Android GridView高亮(禁用选择)”。 - blahdiblah
8个回答

146
在您的XML布局文件中的GridView元素中使用android:listSelector="#00000000"

4
在Android的ListView上,android:listSelector="@null"可以实现这一点,但在GridView上无法奏效。不过将其设置为透明是可行的 =/ - Warpzit
1
请注意,所选视图的元素仍可能会因选择而发生变化(例如,TextView 可能会更改为其“已选择”颜色状态)。请参见此答案了解如何完全禁用选择。 - blahdiblah
2
如果您害怕数字,可以使用android:listSelector="@android:color/transparent"。 - Alysson Myller
嗨@CommonsWare,能帮忙吗?我有一个网格视图,其中图像是网格中的单个项目。当我点击图像周围的空白区域时,我可以从gridview获得触摸反馈,但在点击图像时没有反馈。我该怎么办?谢谢。 - eRaisedToX

37

另一个选项是通过 @android:color/transparent 引用透明颜色。

<?xml version="1.0" encoding="utf-8"?>
<GridView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/grid"
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"
    android:listSelector="@android:color/transparent"
/>

19

我在代码中做了同样的事情,使用了

GridView.setSelector(new ColorDrawable(Color.TRANSPARENT));

11
将此属性添加到GridView。
android:listSelector="@android:color/transparent"

7
<GridView
            android:id="@+id/gridView1"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:gravity="center"
            android:horizontalSpacing="10dp"
            android:listSelector="#00000000"
            android:numColumns="3"
            android:scrollbars="none"
            android:stretchMode="columnWidth"
            android:verticalSpacing="10dp" />

完成了!这是一个解决方案。谢谢 :)

隐藏GridView中的高亮显示。 - Mohammed Saleem

5

试一下...

android:listSelector="@android:color/transparent"(Android列表选择器颜色设置为透明)


0
在你的GridView XML元素中添加android:listSelector="#00000000"android:listSelector="@android:color/transparent",如下所示。
<GridView
        android:id="@+id/gridView"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:columnWidth="150dp"
        android:gravity="center"
        android:listSelector="#00000000"
        android:numColumns="auto_fit"
        android:stretchMode="columnWidth" />

0

只需在您的XML文件中设置以下属性。

android:focusableInTouchMode="false"

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