我的活动中有一个网格视图。我已经用GridView.setSelector()
设置了网格视图的项目突出显示颜色。
.XML
<GridView
android:id="@+id/gridView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center_horizontal"
android:layout_marginTop="10dp"
android:background="#DDDDDD"
android:choiceMode="singleChoice"
android:columnWidth="@dimen/category_edit_grid_item_size"
android:numColumns="auto_fit"
android:stretchMode="columnWidth" />
法典
gridView.setSelector(R.color.theme_primary);
当我选择一个项目时,它会在R.color.theme_primary
中突出显示。但是,一旦我移动到活动中的另一个输入元素(例如我触摸了编辑文本),网格视图突出显示就会消失。
如何在网格视图失去焦点后保持高光?
一种解决方案是对要突出显示的项目使用自定义状态。 有关如何添加状态,您可以看到此答案。 添加状态后,只需添加用于确定何时启用/禁用该状态的逻辑。