Android:在 GridView 中禁用突出显示

Posted

技术标签:

【中文标题】Android:在 GridView 中禁用突出显示【英文标题】:Android: Disable highlighting in GridView 【发布时间】:2011-02-21 09:09:51 【问题描述】:

如何在单击 GridView 中的项目时关闭橙色突出显示?

我无法在文档中或通过测试找到解决方案。

【问题讨论】:

Related: "Disable android GridView highlighting completely (disable selection)" 如果你想禁用不仅突出显示而且选择并使用 GridView 仅用于布局,或通过 onTouch/Click/etc 监听器手动处理选择。 【参考方案1】:

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

【讨论】:

在 listviews 上 android:listSelector="@null" 可以解决问题,但在 gridview 上不起作用。但是将其设置为透明确实有效=/ 请注意,所选视图的元素可能仍会随着选择而变化(例如,TextView 更改为它们的“选定”颜色状态)。请参阅 this answer 了解如何完全禁用选择。 如果你害怕数字,你可以使用 android:listSelector="@android:color/transparent" 嗨@CommonsWare,你能帮忙吗?单击图像.. 我该怎么办?谢谢。【参考方案2】:

另一种选择是通过@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_ 
    android:layout_
    android:listSelector="@android:color/transparent"
/>

【讨论】:

【参考方案3】:

我在代码中使用

做了同样的事情
GridView.setSelector(new ColorDrawable(Color.TRANSPARENT));

【讨论】:

【参考方案4】:

将此属性添加到gridview

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

【讨论】:

【参考方案5】:
<GridView
            android:id="@+id/gridView1"
            android:layout_
            android:layout_
            android:gravity="center"
            android:horizontalSpacing="10dp"
            android:listSelector="#00000000"
            android:numColumns="3"
            android:scrollbars="none"
            android:stretchMode="columnWidth"
            android:verticalSpacing="10dp" />

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

【讨论】:

隐藏从gridview突出显示。【参考方案6】:

试试看……

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

【讨论】:

【参考方案7】:

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

android:focusableInTouchMode="false"

【讨论】:

【参考方案8】:

在您的 GridView XML 元素中添加 android:listSelector="#00000000"android:listSelector="@android:color/transparent",如下所示。

<GridView
        android:id="@+id/gridView"
        android:layout_
        android:layout_
        android:columnWidth="150dp"
        android:gravity="center"
        android:listSelector="#00000000"
        android:numColumns="auto_fit"
        android:stretchMode="columnWidth" />

【讨论】:

以上是关于Android:在 GridView 中禁用突出显示的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Android 中禁用 GridView 滚动?

在 Android 中禁用链接周围的橙色突出显示

Android - 禁用可扩展列表中一组的 onClick 突出显示?

Android - 禁用 ListView 选择突出显示但保持启用 OnClick [重复]

Gridview 根据 Android 中的 SQLITE 状态高亮显示特定项目

如何在`GridView`中启用显示突出显示