Android开发之Menu(菜单功能)学习小结
来源:互联网 发布:怎样kingroot软件 编辑:程序博客网 时间:2024/09/21 09:27
- 博客分类:
- Android
menujavaandroid
总的来说,还是比较容易实现的,新手上路,学了就把大概的写下来,以备健忘吧。
1 Option Menu
这种应该是最常见的,一般手机上都会提供Menu的按钮,对应的就是这个菜单弹出。
主要步骤就是复写Activity父类中的onCreateOptionMenu(Menu menu)方法,然后通过Menu的add方法来添加菜单进去。
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- menu.add(0, MENU_ITEM_COUNTER, 0, "开始");
- menu.add(0, MENU_ITEM_COUNTER + 1, 0, "暂停");
- menu.add(0, MENU_ITEM_COUNTER + 2, 0, "结束");
- return super.onCreateOptionsMenu(menu);
- }
ItemId是可以自己定义的int。
- private static final int MENU_ITEM_COUNTER = Menu.FIRST;
设置好Menu后需要对每一个MenuItem进行定义处理,当用户点击是会调用onOptionsItemSelected(MenuItem item)这个方法,需要对该方法进行重写
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- switch (item.getItemId()) {
- case MENU_ITEM_COUNTER:
- myTextView.setText("You click " + item.getTitle().toString()
- + "Menu");
- break;
- case MENU_ITEM_COUNTER + 1:
- myTextView.setText("You click " + item.getTitle().toString()
- + "Menu");
- break;
- case MENU_ITEM_COUNTER + 2:
- myTextView.setText("You click " + item.getTitle().toString()
- + "Menu");
- break;
- default:
- break;
- }
- return super.onOptionsItemSelected(item);
- }
tip:Android最多支持6个MenuItem,多了以后就摆在More里面。
2.Context Menu
翻译过来就是上下文菜单,其实知道Context最好是意会搞开发的都懂的,这个Mnue还是相当有用的,比如对于文件管理器来说一些增删改查就可以摆在ContextMenu中,它其实是实现了一个用户长按点击后弹出的来一个菜单。
写了一个例子,我感觉有点糟蹋这个功能了,不过也无所谓啦,只是例子。
首先,ContextMenu在新建是会调onCreateContextMune(Menu menu)方法,我们需要对它进行复写。
- @Override
- public void onCreateContextMenu(ContextMenu menu, View v,
- ContextMenuInfo menuInfo) {
- //设置面积大一点,好点唉
- myTextView.setText("*******************************\n" + "要大一些看得才清楚的"
- + "*******************************\n");
- //itemId注意不要重复,否则处理起来很蛋疼
- menu.add(0, MENU_ITEM_COUNTER + 3, 0, "白色");
- menu.add(0, MENU_ITEM_COUNTER + 4, 0, "红色");
- menu.add(0, MENU_ITEM_COUNTER + 5, 0, "蓝色");
- super.onCreateContextMenu(menu, v, menuInfo);
- }
然后注册一下
- //要记得在需要的控件上注册上下文菜单
- registerForContextMenu(myTextView);
当用户点击时会调用onContextItemSelected(MenuItem item)方法,对其重写
- @Override
- public boolean onContextItemSelected(MenuItem item) {
- //根据选择不同,对Text进行不同背景色的显示
- switch (item.getItemId()) {
- case MENU_ITEM_COUNTER + 3:
- myTextView.setBackgroundColor(Color.WHITE);
- break;
- case MENU_ITEM_COUNTER + 4:
- myTextView.setBackgroundColor(Color.RED);
- break;
- case MENU_ITEM_COUNTER + 5:
- myTextView.setBackgroundColor(Color.BLUE);
- break;
- default:
- break;
- }
- return super.onContextItemSelected(item);
- }
其实看看就知道了,两种实现Menu的方式几乎是一样的,只是在调用方法的时候不一样而已。
3 Sub Menu
个人觉得子菜单的概念应该是从属于以上两个菜单类型的,即两种菜单类型中都可以使用子菜单。
实现很简单
- //申明一个子菜单
- SubMenu subMenu = menu.addSubMenu("这个是一个子菜单");
- subMenu.add(0, MENU_ITEM_COUNTER + 6, 0, "这个是子菜单的内容");
0 0
- Android开发之Menu(菜单功能)学习小结
- Android开发之Menu(菜单功能)学习小结
- Android 开发之menu功能菜单
- Android菜单(Menu)小结
- Android基础学习之Menu(菜单)
- Android menu菜单小结
- Android 菜单menu小结
- Menu功能菜单 android
- Android Menu功能菜单
- android之菜单(menu)
- Android 界面开发之菜单Menu用法
- mars android开发之四:menu菜单
- Android学习:用户界面UI之菜单(Menu)
- Android学习之:Menu菜单实践
- Android学习笔记十九之Menu菜单
- Android学习笔记十九之Menu菜单
- ANDROID 之menu菜单
- Android之Menu菜单
- cocos2dx lua draw
- PHP获取mysql数据库表字段的方法
- spring security入门文章
- Android - 条形码和二维码使用
- 奇异值分解(SVD) --- 几何意义
- Android开发之Menu(菜单功能)学习小结
- struts2配置文件解读
- libev整体设计
- Android is not Linux.
- 毕业入户所需手续
- Hadoop:你不得不了解的大数据工具
- Android 关于android.intent.category.DEFAULT
- 短信模块开发 tpdu格式
- cache和内存的地址映射方式(和组成原理讲的差不多)