上下文菜单就是在界面中,尤其是列表项等视图中长按一个条目时,会弹出一个浮动的上下文菜单选项,或者是进入列表的多选界面。
浮动的上下文选项
首先我们要在res/menu
目录中添加菜单项布局文件(list\_item\_context.xml
)。
|
|
然后我们要实现浮动上下文选项菜单和响应相应菜单选项的处理则要重载以下两个函数:
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo);
public boolean onContextItemSelected(MenuItem item);
具体实现如下:
|
|
注意:默认情况下,长按视图不会触发上下文菜单的创建。要触发菜单的创建,必须调用以下
Fragment方法为浮动上下文菜单登记一个视图:registerForContextMenu(listView)
。 在实际开发中推荐在Fragment的onCreateView()
方法中进行注册。
|
|
上下文操作模式
(1)首先我们在Fragment.onCreateView(...)
方法中,设置列表视图的选择模式为CHOICE_MODE_MULTIPLE_MODAL
。(适当时候要考虑版本兼容性问题)
(2)然后我们要给ListView
设置一个实现AbsListView.MultiChoiceModeListener
接口的监听器。
|
|
(3)修改已被选中条目的显示背景。创建一个res/drawable
目录,然后以selector为根元素在该目录下新建一个名为background_activated.xml
的文件。
|
|
然后修改列表项条目布局文件的属性 (这里只是例子说明,主要是观察 android:background
属性的应用):
|
|