参考《疯狂android讲义》2.10节P168

1、重要接口

Android菜单相关的重要接口共有以下四个:

其中Menu为普通菜单,SubMenu包含子项,ContextMenu当长时间点击某组件时弹出的菜单。它们都有一个或多个menuItem。

2、Menu接口最常用的2个方法

(1)MenuItem add():添加一个新的菜单项

(2)SubMenu add():添加一个新的子菜单。

3、实例

package com.ljh.menudemo;import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.SubMenu;
import android.widget.EditText;
import android.widget.Toast;public class MainActivity extends Activity {private EditText etHelloWorld;private final int PLAIN_ITEM = 0x11b;private final int FONT_10 = 0x111;private final int FONT_15 = 0x112;private final int FONT_20 = 0x113;private final int FONT_25 = 0x114;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);etHelloWorld = (EditText) findViewById(R.id.et_hello_world);}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);// 为activity添加普通菜单menu.add(0, PLAIN_ITEM, 0, "普通菜单");// 为activity添加子菜单SubMenu fontSubMenu = menu.addSubMenu("字体大小");// 为子菜单添加子项fontSubMenu.add(0, FONT_10, 0, "10号字体");fontSubMenu.add(0, FONT_15, 0, "15号字体");fontSubMenu.add(0, FONT_20, 0, "20号字体");fontSubMenu.add(0, FONT_25, 0, "25号字体");return true;}@Overridepublic boolean onOptionsItemSelected(MenuItem item) {switch (item.getItemId()) {// 普通箱单被点击处所进行的操作。case PLAIN_ITEM:Toast.makeText(this, "你单击了普通菜单", Toast.LENGTH_LONG).show();break;// 为子菜单的子项定义被点击时所进行的操作。case FONT_10:etHelloWorld.setTextSize(10);break;case FONT_15:etHelloWorld.setTextSize(15);break;case FONT_20:etHelloWorld.setTextSize(20);break;case FONT_25:etHelloWorld.setTextSize(25);break;}return true;}}

当点击菜单按钮时,弹出菜单,有2项:普通菜单及字体大小。点击普通菜单,弹出一个Toast,点击字体大小,弹出一个选择字体大小的选项,并根据选项调整editText中文字的大小。

菜单之一:Menu基础内容相关推荐

  1. html5+css3基础内容

    3.网页开发工具 3.1文档类型声明标签 <!doctype>文档声明,作用就是告诉浏览器使用哪种html版本来显示网页. <!doctype html> 这句代码的意思是:当 ...

  2. wxpython 右键菜单_wxPython menu 详解

    本章内容包括: 创建菜单 使用菜单项工作 添加子菜单.弹出菜单和自定义菜单 菜单的设计准则 难以想象一个应用程序的顶部没 有我们常见的以File和Edit开头,以Help结尾的栏目.这太糟糕了.菜单是 ...

  3. vue切换菜单时不需要页面刷新_antd vue 刷新保留当前页面路由,保留选中菜单,保留menu选中操作...

    废话不说,上代码! nav 1 nav 2 nav 3 重点: 1,selectedkeys要设置成$route.path地址 2,a-menu-item 的key设置成要去的地址 刷新页面,成功! ...

  4. 【精讲】微信小程序 基础内容(组件)入门

    目录 第一部分:滚动菜单内容 第二部分:轮播图内容 第三部分:常用基础组件 第四部分:数据操作 第一部分:滚动菜单内容 wxml内容: <!-- scroll-y是纵向滚动 --> < ...

  5. 转贴:黑客高手必懂基础内容 (发在这里只为娱乐大家)

    转贴:黑客高手必懂基础内容 (发在这里只为娱乐大家)   黑客高手必懂基础内容 一楼:DOS命令大全 二楼:TCP端口:作用,漏洞,操作详析 三楼:开始→运行→命令 集锦 四楼:IPC$空连接的入侵和 ...

  6. Android 三种菜单(Menu)的实现

    一.常用方法 onCreateOptionsMenu(Menu menu) 每次Activity一创建就会执行,一般只执行一次,创建并保留Menu的实例: //获取MenuInflaterMenuIn ...

  7. android菜单(menu)用法

    Android手机专门用一个按键"menu"来显示菜单. 要实现菜单功能,首先要通过方法onCreateOptionMenu来创建菜单,创建方法有两种:一种是直接导入有menu的x ...

  8. android菜单(menu)资源

    一. 菜单资源通常放在res/menu目录下,菜单资源是的根元素通常是<menu></menu>标记,在该标记下可以包含以下两个元素. 1.<item></i ...

  9. 初学Oracle的笔记(2)——基础内容(实时更新中..)

    续 初学Oracle的笔记(1)--基础内容(实时更新中..) 1.oracle中创建一张表,写法与sql server中的一样. SQL> create table Course 2 ( cn ...

最新文章

  1. Linux的fork实现原理,【Linux】Fork炸弹详解
  2. 十万浙企上云 阿里云崛起的最大征候?
  3. 程序间数据共享与传递(2):EXPORT/IMPORT、SAP/ABAP Memory
  4. 15行代码AC——习题5-5 复合词(Compound Words, UVa 10391)——解题报告
  5. 福建省高职单招分数怎么计算机,2019福建高职单招切线 高职招考分数线是多少...
  6. 伪静态php配置,PHP开启伪静态配置
  7. iview table增加一行减少一行_iView学习笔记(二):Table行编辑操作
  8. Python Imaging Library: ImageSequence Module(图像序列模块)
  9. 风一样的坑爹哥rust1_醒醒吧,烂大街的“北欧风”根本不实用!
  10. Spark调优 数据倾斜
  11. SpringBoot学习(二)——Spring的Java配置方式
  12. AES-encryptor
  13. OpenKG开源系列 | 轻量级知识图谱抽取开源工具OpenUE
  14. 如何构建稳健的品期carry组合
  15. Geoserver图层SLD样式编辑问题
  16. Linux - Shell基本命令
  17. 转微信小程序行业解析
  18. CI/CD流水线技术方案
  19. IDM安装与下载百度云文件
  20. 维基百科的网址(没被墙)

热门文章

  1. 给我往死里贪!——24行代码AC_今年暑假不AC HDU - 2037(贪心模板讲解)
  2. 数据结构-数组模拟队列-环形实现(JAVA)
  3. 天平应什么放置_天平是否应该放干燥剂?
  4. python输入多组测试数据_python ddt数据驱动实例代码分享
  5. 实验详解——Cobbler自动部署最小化安装
  6. 树莓派编译一个C程序
  7. JAVA模拟肯德基点餐系统源码,肯德基辞职员工透露,用这几句暗语点餐,你拿的分量会比别人多...
  8. exception in thread main java,【异常】idea执行Main方法出现 Exception in thread main java.lang.NoClassDefFo...
  9. 液晶弹性自由能计算_自由能方法应用(一)开放计算平台BRIDGE的介绍及使用案例...
  10. c++ 命名规则 private_【译】代码中如何写出更有意义的命名