实现菜单之ActionMode
来源:互联网 发布:微信电影网站源码 编辑:程序博客网 时间:2024/06/05 08:36
ActionMode是临时占用actionBar的位置来展示菜单的一种实现菜单的方式
创建方法:
- 1.在res/menu/下创建一个menu
<?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/action_mode1" android:icon="@drawable/color" android:orderInCategory="1" android:title="mode1"/> <item android:id="@+id/action_mode2" android:icon="@mipmap/ic_launcher_round" android:orderInCategory="2" android:title="mode2"/></menu>
- 2.创建一个类MyActionModeCallback来实现ActionMode.CallBack的方法
public class MyActionModeCallBack implements android.view.ActionMode.Callback { //系统开始创建actionMode的时候调用 @Override public boolean onCreateActionMode(android.view.ActionMode mode, Menu menu) { mode.getMenuInflater().inflate(R.menu.action_mode, menu); return true; } //系统开始渲染actionmode的窗体之前调用 @Override public boolean onPrepareActionMode(android.view.ActionMode mode, Menu menu) { return false; } //当actionMode中menu的item点击时调用 @Override public boolean onActionItemClicked(android.view.ActionMode mode, MenuItem item) { mode.finish()//关闭ActionMode的方法 return true; } } //actionMode退出的时候调用 @Override public void onDestroyActionMode(android.view.ActionMode mode) { mode=null; } }
- 3.开启和退出actionMode
ActionMode mActionMode = startActionMode(myActionModeCallBack);//将上面实现了回调接口的类传递进去 mActionMode.finish();//退出actionMode会调用onDestroyActionMode()
- 4.为listView或者GridView 等absListView 类注册开启ActionMode
listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL); listView.setMultiChoiceModeListener(new ListView.MultiChoiceModeListener() { @Override public void onItemCheckedStateChanged(ActionMode mode, int position, long id, boolean checked) { //业务逻辑(更新menu的Item标题等等) } @Override public boolean onCreateActionMode(ActionMode mode, Menu menu) { mode.getMenuInflater().inflate(R.menu.action_mode, menu); return true; } @Override public boolean onPrepareActionMode(ActionMode mode, Menu menu) { return false; } @Override public boolean onActionItemClicked(ActionMode mode, MenuItem item) { //actionMode中menu的item点击事件的逻辑 return false; } @Override public void onDestroyActionMode(ActionMode mode) { } });
阅读全文
1 0
- 实现菜单之ActionMode
- 如何使用actionmode设计菜单
- 如何使用actionmode设计菜单
- 平板开发之ActionMode
- android 之EditText长按屏蔽ActionMode context菜单但保留选择工具功能
- ActionMode
- ActionMode
- 菜单(五)ActionMode和PopupMenu
- Android--Menu的实现 ActionMode
- 如何更改ActionMode的菜单条的背景颜色
- 菜单实现之PopupMenu
- 安卓菜单的使用系列4:使用ActionMode显示菜单
- Android Menu,OptionMenu选项菜单,ContextMenu上下文菜单,Contextual ActionMode,PopUp Menu,PopU pWi ndow
- Android新的menu实现——ActionMode
- Android新的menu实现——ActionMode
- Android新的menu实现——ActionMode
- Android新的menu实现——ActionMode
- Android新的menu实现——ActionMode
- 【Oracle】——内连接、外连接
- anroid屏幕适配之dp与px互转工具类
- Android View 仿iOS SwitchButton [Material Design]
- 94-ICMP 协议(回显请求与应答)
- layer.msg(content, options, end)
- 实现菜单之ActionMode
- Objective-C Foundation
- instant run 导致 ClassNotFoundException ,意外吧?
- 分享一个免费自动发帖软件,免费自动发布信息软件
- 单词翻转
- 用对象的思想递归求解《母牛的故事》问题
- 插入排序
- uC/OS-II源码解析(os_cpu.h)
- 2004年分区联赛普级组之四 火星人(dfs)