ListView选中的项目突出显示

时间:2014-05-21 13:45:42

标签: android listview android-listview android-gridview

我正在使用GridView处理setChoiceMode(GridView.CHOICE_MODE_MULTIPLE_MODAL)。默认情况下,行不会突出显示(您在 WhatsApp 图库应用中看到蓝色突出显示),所以我想知道,Android API是否已经开始重点突出显示选定的项目,我错过了一些东西(如果是这样,我错过了什么?)或者我必须自己突出显示选定的行(如果是这样,如何突出显示,而不仅仅是改变背景)?

这是我的代码:

gridView.setOnItemClickListener(this);
gridView.setEmptyView(view.findViewById(R.id.empty));
gridView.setChoiceMode(GridView.CHOICE_MODE_MULTIPLE_MODAL);

// multiChoiceModeListener is a subclass of AbsListView.MultiChoiceModeListener
// with no particular code on its abstracts methods.
gridView.setMultiChoiceModeListener(multiChoiceModeListener);

1 个答案:

答案 0 :(得分:4)

将此用于ListItem背景(XML布局)

android:background="?android:attr/activatedBackgroundIndicator"

它基本上只是一个选择器,您也可以自己构建:https://android.googlesource.com/platform/frameworks/base/+/refs/heads/master/core/res/res/drawable/activated_background.xml

编辑:

鉴于你的评论,这解决了它:

带有FrameLayout的

android:foreground="?android:attr/activatedBackgroundIndicator"

还有相关问题:How to set foreground attribute to other non FrameLayout view