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

我试图禁用Android 2.2中的GridView中的对象突出显示。

我发现这个答案说我应该设置select器到一个透明的ColorDrawable( android:listSelector="@android:color/transparent" ),但是我的GridView中的视图仍然是灰色的,当我select它们。

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

好吧,看起来我find了答案。

在为GridView定义适配器时,您将不得不重写以下方法:

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

这将导致您的网格中的所有项目是不可选的,但它将完全摆脱突出显示。

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

机器人:listSelector = “#00000000”

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

只需Set v.setOnClickListener(null);

如果您只想禁用select的视觉方面,则可以执行以下操作:

 gridview.getSelector().setAlpha(0);