首先结合如下的代码来看

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-普通菜单使用的更多相关文章

  1. OptionMenu选项菜单

    #选项菜单 from tkinter import * root = Tk() variable=StringVar() variable.set('one') w = OptionMenu(root ...

  2. Android开发之Menu:OptionMenu(选项菜单)、ContextMenu(上下文菜单)、SubMenu(子菜单)

    菜单的概念,现在已经很普及了.Windows系统.Mac.桌面版Linux.Java Swing等,都有可视化菜单.一.Android平台3种菜单  选项菜单(OptionMenu).上下文菜单(Co ...

  3. android 为activity添加optionMenu选项菜单

    <menu xmlns:android="http://schemas.android.com/apk/res/android"> <group android: ...

  4. GUI的最终选择 Tkinter(七):菜单Menu组件、Menubutton组件、OptionMenu组件

    Menu组件 今天说的Menu组件就是一些菜单组件,开始点点点... Tkinter提供了一个Menu组件,可以实现顶级菜单,下拉菜单和弹出菜单.由于底层是代码实现和优化的,所以不太建议通过按钮和其他 ...

  5. Android——菜单(Menu)

    菜单的运用在Android中很常见,今天就两节体育课,闲下来也想认真的学一学,正好项目中也会有应用.我是跟着菜鸟教程进行学习的,我相应的粘了一些我自己认为比较重要的,以供方便记录学习. 本章给大家带来 ...

  6. 浅析 Android 的窗口

    来源:http://bugly.qq.com/bbs/forum.php?mod=viewthread&tid=555&fromuid=6   一.窗口的概念 在开发过程中,我们经常会 ...

  7. Android_CntextMenu_example_textSize

    menu.xml <menu xmlns:android="http://schemas.android.com/apk/res/android" > <item ...

  8. 浅析Android的窗口

    一.窗口的概念 在开发过程中,我们经常会遇到,各种跟窗口相关的类,或者方法.但是,在 Android 的框架设计中,到底什么是窗口?窗口跟 Android Framework 中的 Window 类又 ...

  9. JavaAndroid开发部分API

    JavaAndroid开发中的部分系统API 四大组件,都需要在清单文件中配置 Activity: 用来提供一个能让用户操作并与之交互的界面 onCreate(): 自动调用的方法, 在其中加载布局显 ...

  10. Python的标准GUI:Tkinter的组件

    Label组件: Label组件用于显示文本和图像,并且使用双重缓冲 用法: 使用Label组件可以指定想要显示的内容(文本.位图或者图片): from tkinter import * master ...

随机推荐

  1. Android之RadioGroup+ViewPager制作的底部导航栏

    在日常开发中我们常常会用到类似微信或者QQ的底部导航.实现这样的效果有多种,今天就为大家介绍一种实现简单,可控性好的底部导航的实现方法. 首先创建activity_main.xml布局文件,里面主要由 ...

  2. OpenSUSE42.3 leap 开启ssh登陆

    一.产看ssh是否安装 OpenSUSE:~ # rpm -qa | grep ssh libssh2-1-1.4.3-18.3.x86_64openssh-askpass-1.2.4.1-12.1. ...

  3. 关于props default 数组/对象的默认值应当由一个工厂函数返回

    export default {props: { xAxisData: {   type: Array,   default: [] }, },这是我的代码 报错是Invalid default va ...

  4. AJAX 删除数据

    var json = { "id":"12", "name":"admin"}$.ajax({ type: " ...

  5. vs平台 error link:2019

    需要XXX.lib或XXX.dll库.手动添加,项目->属性->配置属性->链接器->输入 然后在附件依赖项添加XXX.lib,再生成第一个无法解析的外部符号错误消失了.

  6. Linux中为XEN网桥绑定物理网卡

    XEN虚拟机会默认将可以连通外网的网卡绑定到xenbr0上, 因此如果需要切换到其他物理网卡上时,需要自己配置脚本或执行命令. 1.添加脚本绑定 a.编写一个脚本,指定网卡与网桥绑定的关系 # vim ...

  7. Silverlight 应用程序中未处理的错误

    Silverlight 开发中遇到个错误: SCRIPT5022: Silverlight 应用程序中未处理的错误 代码: 2108 类别: InitializeError 消息: 无法下载初始屏幕或 ...

  8. julia/pyplot 绘图加入标签和标题

    julia 调用matplotlib.pyplot 须要先using pycall 先安装pycall Pkg.add("PyCall") 然后吧. . . 上代码把:(应该是通俗 ...

  9. python-安装xlrd xlwt 插件

    最近需要对比两个表格的内容,然后修改其中的某列内容.因为工作量太大,所以想通过python来实现.上网查了相关的操作,其中牵扯到两个功能模块,xlrd xlwt.这两个功能模块分别是对excel进行读 ...

  10. 4.Maven之(四)Maven命令

    转自:https://blog.csdn.net/u012152619/article/details/51473410