菜单之一:Menu基础内容 分类: H1_ANDROID 2013-11-03 00:23 906人阅读 评论(0) 收藏
参考《疯狂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; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
etHelloWorld = (EditText) findViewById(R.id.et_hello_world);
} @Override
public 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;
} @Override
public 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基础内容 分类: H1_ANDROID 2013-11-03 00:23 906人阅读 评论(0) 收藏的更多相关文章
- 自动化测试工具QTP的使用实例 分类: 软件测试 2015-06-17 00:23 185人阅读 评论(0) 收藏
1. QTP简介 1.1QTP功能与特点 QTP是QuickTest Professional的简称,是一种自动化软件测试工具.在软件的测试过程中,QTP主要来用来通过已有的测试脚本执行重复的手动测试 ...
- C/C++中const的用法 分类: C/C++ 2015-07-05 00:43 85人阅读 评论(0) 收藏
const是C语言的关键字,经C++进行扩充,变得功能强大,用法复杂.const用于定义一个常变量(只读变量),当const与指针,引用,函数等结合起来使用时,情况会变得复杂的多.下面将从五个方面总结 ...
- 浅谈new operator、operator new和placement new 分类: C/C++ 2015-05-05 00:19 41人阅读 评论(0) 收藏
浅谈new operator.operator new和placement new C++中使用new来产生一个存在于heap(堆)上对象时,实际上是调用了operator new函数和placeme ...
- Rebuild my Ubuntu 分类: ubuntu shell 2014-11-08 18:23 193人阅读 评论(0) 收藏
全盘格式化,重装了Ubuntu和Windows,记录一下重新配置Ubuntu过程. //build-essential sudo apt-get install build-essential sud ...
- iOS8 UISearchViewController搜索功能讲解 分类: ios技术 2015-07-14 10:23 76人阅读 评论(0) 收藏
在iOS8以前我们实现搜索功能需要用到UISearchbar和UISearchDisplayController, 在iOS8之后呢, UISearchController配合UITableView的 ...
- short-path problem (Spfa) 分类: ACM TYPE 2014-09-02 00:30 103人阅读 评论(0) 收藏
#include <cstdio> #include <iostream> #include <cstring> #include <queue> #i ...
- Monthly Expense(二分) 分类: 二分查找 2015-06-06 00:31 10人阅读 评论(0) 收藏
Description Farmer John is an astounding accounting wizard and has realized he might run out of mone ...
- hadoop调优之一:概述 分类: A1_HADOOP B3_LINUX 2015-03-13 20:51 395人阅读 评论(0) 收藏
hadoop集群性能低下的常见原因 (一)硬件环境 1.CPU/内存不足,或未充分利用 2.网络原因 3.磁盘原因 (二)map任务原因 1.输入文件中小文件过多,导致多次启动和停止JVM进程.可以设 ...
- 【Heritrix基础教程之2】Heritrix基本内容介绍 分类: B1_JAVA H3_NUTCH 2014-06-01 13:02 878人阅读 评论(0) 收藏
1.版本说明 (1)最新版本:3.3.0 (2)最新release版本:3.2.0 (3)重要历史版本:1.14.4 3.1.0及之前的版本:http://sourceforge.net/projec ...
随机推荐
- 3.SOAP和WSDL的一些必要知识
转自:https://www.cnblogs.com/JeffreySun/archive/2009/12/14/1623766.html SOAP和WSDL对Web Service.WCF进行深入了 ...
- JavaScript--模块化 JavaScript module designer
module: 模块就是实现特定功能的一组方法.1.在首页的一个接口js;首先下载好require.js文件引入首页. <script src="require.js" da ...
- WebService 的Description 属性说明(转)
转自:http://exception.thinksaas.cn/0/173/173623.html 在WebMethod的description 中可使用超文本, 举例: 如上图中,红框类的WebS ...
- JavaScript的字符串、数组以及DOM操作总结
(一)JavaScript字符串操作 JavaScript的字符串就是用' '或" "括起来的字符表示,日常的学习中有时候需要对字符串进行相关的操作.例如要获取字符串某个指定位置的 ...
- MySQL 5.7 多实例安装部署实例
1. 背景 MySQL数据库的集中化运维,可以通过在一台服务器上,部署运行多个MySQL服务进程,通过不同的socket监听不同的服务端口来提供各自的服务.各个实例之间是相互独立的,每个实例的dat ...
- Beginning iOS Programming
Beginning iOS Programming 2014年 published by Wrox
- Android应用开发-广播和服务
广播 广播的概念 现实:电台通过发送广播发布消息,买个收音机,就能收听 Android:系统在产生某个事件时发送广播,应用程序使用广播接收者接收这个广播,就知道系统产生了什么事件. Android系统 ...
- Mrakdonw学习
转载请注明出处:http://blog.csdn.net/cym492224103 什么是Mrakdown 为什么使用Mrakdown 怎样Mrakdown 字体 删除线 字体大小 引用 代码行代码块 ...
- GOROOT,GOPATH,GOBIN,project
GOROOT,GOPATH,GOBIN,project目录 我们接下来一个一个来看关于Go语言中的三个目录的详细解释先通过go env查看go的环境变量(我这里是mac的环境,所以可能和你的不同) ...
- 好记性不如烂笔头——double
两个数据转换成double型做差,会出现误差,转换成Decimal就OK了.