optionMenu-普通菜单使用
首先结合如下的代码来看
package com.android.settings; import android.R.integer;
import android.app.Fragment;
import android.util.Log;
import android.os.Bundle; import com.android.settings.ChooseLockGeneric.ChooseLockGenericFragment; import android.view.ContextMenu;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ContextMenu.ContextMenuInfo;
import android.widget.Switch; /**
* Stub class for showing sub-settings; we can't use the main Settings class
* since for our app it is a special singleTask class.
*/
public class SubSettings extends Settings2 {
private final static int DELETE = 0;
private final static int CANCEL = 1; @Override
public boolean onNavigateUp() {
finish();
return true;
} @Override
protected boolean isValidFragment(String fragmentName) {
Log.d("SubSettings", "Launching fragment " + fragmentName);
return true;
} @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); } /* Vanzo:zhangshuli on: Thu, 19 Mar 2015 16:25:55 +0000
* modify for v5 calculator
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
menu.add(0, DELETE, 0, "删除");
menu.add(0, CANCEL, 0, "取消");
return true;
}
*/
// End of Vanzo: zhangshuli @Override
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
switch (item.getItemId()) {
case DELETE: break;
case CANCEL:
break;
default:
break;
}
return super.onOptionsItemSelected(item);
}
public boolean onCreateOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
menu.add(0, DELETE, 0, "删除");
menu.add(0, CANCEL, 0, "取消");
return true;
}
}
1.如果我们想要实现一个optionMenu,那么我们必须找到这个activity。然后重写它的方法onCreateOptionsMenu
给onCreateOptionsMenu 添加列表有两种方式
1)直接在代码里面添加
public boolean onCreateOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
menu.add(0, DELETE, 0, "删除");
menu.add(0, CANCEL, 0, "取消");
return true;
}
menu.add()方法有四个参数
第一个:好像是给menu中的item分组,具体作用不太明白,以后遇到再研究吧
第二个:这个是item的id,我们通过menu.getitemid()得到的就是这个值
第三个:这个是我们item的排列位置,0表示默认根据添加顺序来决定位置顺序
第四个:这个就是列表中显示的内容名称
2)通过menu 中的xml添加
在menu目录下,创建一个menu.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/clear_history"
android:showAsAction="ifRoom|withText"
android:icon="@drawable/clear_history"
android:title="@string/clear_history"/>
<item android:id="@+id/advanced"
android:showAsAction="ifRoom|withText"
android:icon="@drawable/advanced"
android:title="@string/advanced"/>
<item android:id="@+id/basic"
android:showAsAction="ifRoom|withText"
android:icon="@drawable/simple"
android:title="@string/basic"/>
</menu>
代码中的引用如下
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
/* Vanzo:zhangshuli on: Thu, 15 Jan 2015 15:59:26 +0000
* modify for v5 calculator
getMenuInflater().inflate(R.menu.menu, menu);
*/
// End of Vanzo: zhangshuli
return true;
} @Override
public boolean onPrepareOptionsMenu(Menu menu) {
super.onPrepareOptionsMenu(menu); /* Vanzo:zhangshuli on: Thu, 15 Jan 2015 15:54:31 +0000
* modify for v5 calculator
if (!sContext.getResources().getBoolean(R.bool.isTablet)) {
menu.findItem(R.id.basic).setVisible(!getBasicVisibility());
menu.findItem(R.id.advanced).setVisible(!getAdvancedVisibility());
} else {
menu.findItem(R.id.basic).setVisible(false);
menu.findItem(R.id.advanced).setVisible(false);
}
*/
optionMenu-普通菜单使用的更多相关文章
- OptionMenu选项菜单
#选项菜单 from tkinter import * root = Tk() variable=StringVar() variable.set('one') w = OptionMenu(root ...
- Android开发之Menu:OptionMenu(选项菜单)、ContextMenu(上下文菜单)、SubMenu(子菜单)
菜单的概念,现在已经很普及了.Windows系统.Mac.桌面版Linux.Java Swing等,都有可视化菜单.一.Android平台3种菜单 选项菜单(OptionMenu).上下文菜单(Co ...
- android 为activity添加optionMenu选项菜单
<menu xmlns:android="http://schemas.android.com/apk/res/android"> <group android: ...
- GUI的最终选择 Tkinter(七):菜单Menu组件、Menubutton组件、OptionMenu组件
Menu组件 今天说的Menu组件就是一些菜单组件,开始点点点... Tkinter提供了一个Menu组件,可以实现顶级菜单,下拉菜单和弹出菜单.由于底层是代码实现和优化的,所以不太建议通过按钮和其他 ...
- Android——菜单(Menu)
菜单的运用在Android中很常见,今天就两节体育课,闲下来也想认真的学一学,正好项目中也会有应用.我是跟着菜鸟教程进行学习的,我相应的粘了一些我自己认为比较重要的,以供方便记录学习. 本章给大家带来 ...
- 浅析 Android 的窗口
来源:http://bugly.qq.com/bbs/forum.php?mod=viewthread&tid=555&fromuid=6 一.窗口的概念 在开发过程中,我们经常会 ...
- Android_CntextMenu_example_textSize
menu.xml <menu xmlns:android="http://schemas.android.com/apk/res/android" > <item ...
- 浅析Android的窗口
一.窗口的概念 在开发过程中,我们经常会遇到,各种跟窗口相关的类,或者方法.但是,在 Android 的框架设计中,到底什么是窗口?窗口跟 Android Framework 中的 Window 类又 ...
- JavaAndroid开发部分API
JavaAndroid开发中的部分系统API 四大组件,都需要在清单文件中配置 Activity: 用来提供一个能让用户操作并与之交互的界面 onCreate(): 自动调用的方法, 在其中加载布局显 ...
- Python的标准GUI:Tkinter的组件
Label组件: Label组件用于显示文本和图像,并且使用双重缓冲 用法: 使用Label组件可以指定想要显示的内容(文本.位图或者图片): from tkinter import * master ...
随机推荐
- centos7 双网卡设置(先NAT和后桥接)
摘要:VMware中搭建一台虚拟机192.168.161.5(NAT转发) 首先在VM虚拟机设置里面添加一块网卡适配器 设置为桥接模式 完成后等待自动配置 此时出现多了一个ens37 和本地网段一样的 ...
- Android 使用TabLayout、ViewPager和Fragment实现顶部菜单可滑动切换
效果图如下 首先,要使用控件需要添加design library,在Android Studio中添加 compile 'com.android.support:design:23.4.0' 然后是布 ...
- Multi-process Resource Loading
For Developers > Design Documents > Multi-process Resource Loading 目录 1 This design doc n ...
- K-近邻算法学习
# -- coding: utf-8 -- from numpy import * import operator def createDataSet(): group = array([[1.0,1 ...
- CCF模拟题 字符串匹配
字符串匹配 时间限制: 1.0s 内存限制: 256.0MB 问题描述 给出一个字符串和多行文字,在这些文字中找到字符串出现的那些行.你的程序还需支持大小写敏感选项:当选项打开时,表示同一个字母的大写 ...
- Intellij IDEA使用指南(持续更新)(转)
一.项目层面 1.Java开发工具IntelliJ IDEA导入项目 http://jingyan.baidu.com/article/a17d52852118ac8098c8f2c1.html 2. ...
- java设计模式--事件监听器模式和观察者模式
监听器模式:事件源经过事件的封装传给监听器,当事件源触发事件后,监听器接收到事件对象可以回调事件的方法 观察者模式:观察者(Observer)相当于事件监听者,被观察者(Observable)相当于事 ...
- Linux Unix shell 编程指南学习笔记(第二部分)
第七章 正則表達式介绍 匹配行首与行尾 匹配数据集 职匹配字母和数字 句点 "." 匹配随意单字符. ^,在行首 匹配字符串或字符序列,如查询当前文件夹下的全部文件夹: ls - ...
- 关于集合类set
list中允许有重复的元素,而set中不允许有重复的元素. package cn.hncu.Test; import java.util.HashMap; import java.util.Map; ...
- 深入解析开源项目之Universal-Image-Loader(二)硬盘---缓存篇
文件命名: FileNameGenerator,HashCodeFileNameGenerator,Md5FileNameGenerator package com.nostra13.universa ...