菜单之一:Menu基础内容
参考《疯狂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基础内容的更多相关文章
- 菜单之一:Menu基础内容 分类: H1_ANDROID 2013-11-03 00:23 906人阅读 评论(0) 收藏
参考<疯狂android讲义>2.10节P168 1.重要接口 Android菜单相关的重要接口共有以下四个: 其中Menu为普通菜单,SubMenu包含子项,ContextMenu当长时 ...
- 使用菜单(Menu)资源
前面已经介绍过Android的菜单支持,前面介绍菜单时分别介绍了如何使用Java代码来实现菜单和使用XML资源文件定义菜单. 实际上Android推荐使用XML资源文件来定义菜单,使用XML资源文件定 ...
- Eclipse 插件开发 -- 深入理解菜单(Menu)功能及其扩展点( FROM IBM)
Eclipse 插件开发 -- 深入理解菜单(Menu)功能及其扩展点 菜单是各种软件及开发平台会提供的必备功能,Eclipse 也不例外,提供了丰富的菜单,包括主菜单(Main Menu),视图 / ...
- Android 三种菜单(Menu)的实现
感谢大佬:https://blog.csdn.net/chileme/article/details/82944764 一.常用方法 java onCreateOptionsMenu(Menu men ...
- android中常用菜单(menu)的基本知识
(一)选项菜单 1.简单的创建菜单: @Override public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMe ...
- 菜单工具栏wxPython菜单与工具栏基础示例
这两天一直在学习菜单工具栏之类的问题,上午正好有机会和大家讨论一下. 1.基本的api介绍 Package wx :: Class Menu Type Menu Method Summary Menu ...
- 【Electron】Electron开发入门(八):自定义electron框架外壳(shell)的菜单(Menu)
1.自定义electron框架外壳(shell)的菜单(Menu) electron的main.js里代码: const Menu = require('electron').Menu; var te ...
- IO基础内容(File)
JavaIO基础内容 IO技术概述 Output 把内存中的数据存储到持久化设备上这个动作称为输出(写)Output操作 Input 把持久设备上的数据读取到内存中的这个动作称为输入(读)Input操 ...
- ROS_Kinetic_09 ROS基础内容(四)
ROS_Kinetic_09 ROS基础内容(四) 参考网址: http://wiki.ros.org/cn/ROS/Tutorials/UsingRosEd http://wiki.ros.org/ ...
随机推荐
- phantomjs初入门
对DOM操作,而调试过程必不可少,对于那些微乎其微的方法,总显得余力不足.在这里PhantomJS就就行了很好的实现. PhantomJS是一个拥有JavaScript API的无界面WebKit 正 ...
- Dede修改文章默认标题长度,让标题全显示
第一步首先你要进入dedecms后台,系统——系统基本参数——其他选项——文档标题最大长度——在这修改为200或更大(其实200应该是足够了). 第二步进入phpmyadmin,点击dede_arch ...
- memcached在Windows下的安装
memcached简介详情请谷歌.这里介绍如何在windows下安装. 1.下载 下载地址:http://download.csdn.net/detail/u010562988/9456109 ...
- CoreData学习-最好的一片文章
CoreData学习-最好的一片文章 分类: IOS重新上路2014-05-25 18:00 1937人阅读 评论(0) 收藏 举报 目录(?)[+] 写的很好的一篇教程,我什么时候能写出这么 ...
- 安装ArchLinux的参考分区方案
其实就是从Archwiki上搬运过来的 = =. 分区方案 虽然有一些关于分区方案的通用建议,但没有严格的准则.有许多影响分区方案的因素,例如对灵活性的期望,访问速度,安全性以及可用磁盘空间的硬性限制 ...
- new SqlSessionFactoryBuilder().build(inputStream, properties)
SqlSessionFactory sqlSessionFactory =new SqlSessionFactoryBuilder().build(inputStream, properties); ...
- 使用ViewPager实现左右“无限”滑动的万年历
有时候就是这样,研究一个问题,一开始想到了一个觉得可行的方案,然后去尝试:尝试了很久.很多次,已经要放弃了,关掉电脑心里 想这个需求没办法实现:在去上厕所的路上突然想到了一个点子,第二天一试,尼玛,搞 ...
- juicer模板引擎使用
http://www.juicer.name/ <script src="~/Scripts/jquery-1.8.2.min.js"></script> ...
- back_insert_iterator和iterator用起来不一样。
先看代码: #include<iostream> #include<vector> #include<algorithm> #include<iterator ...
- hdu4453-Looploop(伸展树)
题目有很多图,不好粘贴..... 题意:给出N个数和K1,K2的值,最开始指针指向第一个数,有6种操作 add x : 给前K2个数都增加x reverse : 翻转前K1个数 insert x : ...