菜单之一:Menu基础内容 分类: H1_ANDROID 2013-11-03 00:23 906人阅读 评论(0) 收藏
2024-08-31 20:51:55
参考《疯狂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中文字的大小。
版权声明:本文为博主原创文章,未经博主允许不得转载。
最新文章
- 【About Queue】(待改)
- PSR-1:基本的代码风格
- wordpress视频教程
- IE 11 保护模式害惨了我
- hdu City Game
- SOME USEFUL MACHINE LEARNING LIBRARIES.
- HDU 4607 Park Visit 两次DFS求树直径
- Hibernate学习小结
- Python 项目实践一(外星人入侵)第二篇
- 11个phpstorm 快捷键介绍
- Python3调谷歌翻译
- loj#2720. 「NOI2018」你的名字
- git同步远程已删除的分支和删除本地多余的分支
- Python3基础 list + *运算 扩充列表
- la3890(半平面交)
- ArcGIS 10.2数字化线状要素时自己主动拼接成一条线
- ZooKeeper (一)概览
- win10下的iis的配置(服务于asp.net)
- eclipse/idea批量替换空白行
- python字符中加入变量
热门文章
- 4个开源的Gmail替代品
- 如何创建Hiren的BootCD USB磁盘 -- 制作U盘启动盘
- js20---接口3种方式
- js--07 编解码,eval
- 洛谷P3165 [CQOI2014]排序机械臂
- Node.js安装+环境配置【Windows版】
- AJAX - 封装AJAX GET 数组join( )方法 键值对取value POST请求参数注意点
- ArcGIS 10 影像、栅格数据格式批量转换
- amazeui学习笔记一(开始使用3)--兼容性列表compatibility
- 利用ServiceWorker实现页面的快速加载和离线访问