我正在尝试弄清楚如何在按下它时突出显示整个GridView单元格,就像在Google Play商店中一样。这是我正在尝试做的事情的图像(咆哮天空细胞是我想要完成的事情):
我知道您可以使用图像/视图的选择器,但这只会改变背景颜色,并且不会覆盖单元格中的图像(除非有一些我还没有找到的特殊技巧/开关) 。我试图在单元格的整个内容上覆盖(而不是在图像下方)半透明颜色,并且选择器似乎不会这样做。我也知道你可以使用.setColorFilter()和OnTouchListener,但这只适用于Drawables(据我所知),我认为用GridView实现会很痛苦。在Google Play商店中,整个单元格都会突出显示,并且其中包含多个不同的视图。
目前,我有一个带有自定义背景的GridView设置,使其具有类似卡片的外观。它有一个带有几个TextView的ImageView,但我无法弄清楚如何突出显示整个GridView单元格(覆盖半透明颜色)。通常我会提供代码,但在这种情况下,我不确定它会有所帮助,因为我目前得到的是非常标准的。关于如何实现这一点的任何想法?
答案 0 :(得分:1)
你走了。
在xml中使用属性drawSelectorOnTop =“false”。
或尝试mGridview.setDrawSelectorOnTop(true)
希望有所帮助。
答案 1 :(得分:0)
试试这个,
可以通过选择器来实现。
在grid_cell_item的根布局上使用选择器作为背景。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/artists_list_backgroundcolor"
android:orientation="vertical" >
<ImageView
android:id="@+id/home_grid_img"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:contentDescription="@string/app_name" />
<TextView
android:id="@+id/home_grid_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/home_grid_img"
android:layout_centerHorizontal="true"
android:textColor="#7a7a7a"
android:textSize="12sp"
android:textStyle="bold" />
</RelativeLayout>
<强> artists_list_backgroundcolor.xml 强>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_selected="false"
android:state_pressed="false"
android:drawable="@color/white" />
<item android:state_pressed="true"
android:drawable="@color/itemselected" />
<item android:state_selected="true"
android:state_pressed="false"
android:drawable="@color/itemselected" />
</selector>
<强> colors.xml 强>
<resources>
<color name="white">#ffffff</color>
<color name="itemselected">#EDEDED</color>
</resources>
希望这会对你有所帮助。