完全禁用Android GridView高亮显示(禁用选择)

Ken*_*nny 12 android gridview selector

我正在尝试禁用Android 2.2中GridView中对象的突出显示.

我发现另一个答案说我应该将选择器设置为透明的ColorDrawable(android:listSelector="@android:color/transparent"),但是当我选择它们时,我的GridView中的视图仍然是灰色的.

我只是使用GridView在网格中显示静态对象.这些对象都不会被选中.使用基本视图并手动绘制图像会更好吗?

Mai*_*jer 39

为了保持可点击的项目,您应该使用下面的attr.在你的GridView xml中:

机器人:listSelector = "#00000000"

另见:https: //stackoverflow.com/a/2866074/928591


Ken*_*nny 24

好吧,看起来我找到了答案.

在GridView适配器的定义中,您必须覆盖以下方法:

@Override
public boolean areAllItemsEnabled()
{
    return false;
}

@Override
public boolean isEnabled(int position)
{
    return false;
}
Run Code Online (Sandbox Code Playgroud)

这将导致网格中的所有项目都不可选,但它将完全消除突出显示.

  • 如果你需要孩子可以集中精力,试试android:descendantFocusability ="afterDescendants" (2认同)