1.在桌面程序中,菜单的应用非常广泛,但是在安卓手机开发中减少了菜单的使用,不过在安卓中提供了两种实现菜单的方法,一种是用Java代码创建菜单,一种是使用菜单资源文件创建菜单,在这里推荐第二种,使用菜单资源文件来定义和创建菜单,因为这样便于管理维护,并有效减少了java文件的代码量,在资源文件定义便于修改和实现国际化的菜单。

2.接下来新建一个安卓项目,项目名为MenuTest,这次要实现的功能就是点击模拟器的菜单按键后,弹出菜单项,点击菜单项设置字体大小的时候,布局文件里的Hello World文本控件会变大,点击菜单项的设置文本颜色,文本控件Hello World就变了一个颜色,点击设置文本,文本控件就变成Hello EveryOne,项目创建完成后,首先进行界面布局,界面布局很简单,就是一个TextView控件,布局居中显示Hello World,接下来附上activity_main.xml布局文件的代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:id="@+id/container"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical" ><TextViewandroid:id="@+id/textView1"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="@string/text"android:padding="10dp"android:gravity="center_vertical|center_horizontal"/></LinearLayout>

3.接下来在res目录下的menu文件夹里有个menu.xml文件,打开之后默认有个菜单项,下面附上menu.xml的文件,用来创建选项菜单,其中的文字资源放在res目录下的values文件夹下的strings.xml文件:

menu.xml文件:

<menu xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"tools:context="com.example.menutest.MainActivity" ><itemandroid:id="@+id/setSize"android:title="@string/size_setting"android:icon="@drawable/aif"/><itemandroid:id="@+id/setColor"android:title="@string/color_setting"android:icon="@drawable/dls"/><itemandroid:id="@+id/setText"android:title="@string/text_setting"android:icon="@drawable/aer"/></menu>

strings.xml文件:

<?xml version="1.0" encoding="utf-8"?>
<resources><string name="app_name">MenuTest</string><string name="size_setting">设置字体大小</string><string name="color_setting">设置字体颜色</string><string name="text_setting">设置文本</string><string name="text">Hello World</string>
</resources>

4.接下来点击菜单时所做的事件处理,在MainActivity.java文件进行事件处理,附上MainActivity.java文件,里面有简单的注释:

package com.example.menutest;import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;public class MainActivity extends Activity {private TextView textView1;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);textView1=(TextView)findViewById(R.id.textView1);//获取文本框控件}@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);//解析菜单文件return true;}/*用于当菜单项被选择时,做出相应的处理*/@Overridepublic boolean onOptionsItemSelected(MenuItem item) {// Handle action bar item clicks here. The action bar will// automatically handle clicks on the Home/Up button, so long// as you specify a parent activity in AndroidManifest.xml.int id = item.getItemId();  //获取菜单项的Idswitch (id) {case R.id.setSize:           //当选择的菜单项为设置文本字体时textView1.setTextSize(21);//文本框的Hello World字体变大了break;case R.id.setColor:          //当选择的菜单项为设置文本颜色时textView1.setTextColor(Color.MAGENTA);//文本框的Hello World字体颜色发生了改变break;case R.id.setText:           //当选择的菜单项为设置文本时textView1.setText("Hello EveryOne!");//文本框里面显示的不再是Hello World,而是Hello EveryOnebreak;default:break;}return super.onOptionsItemSelected(item);}}

5.然后开始运行此项目,项目运行效果如下:

点击虚拟键盘的MENU,出现下图的效果:

点击右上角的菜单,出现效果如下:

点击菜单项设置字体大小,Hello World字体变大了,效果如下:

再点击菜单项设置文本颜色,上图变大的Hello World颜色变了,效果如下:

再点击设置文本菜单项,上图里变大的、有颜色的Hello World变成了Hello EveryOne,效果如下:

6.以上就是介绍如何创建选项菜单,代码写得不太好,只是为了介绍如何定义菜单资源,然后用了第一种类型,即创建选项菜单来使用菜单资源。

7.以上内容仅供大家学习参考,写得不好,请见谅,简简单单就好,如果有什么错误请及时提出,谢谢!

Android之创建选项菜单相关推荐

  1. Android开发之选项菜单(optinosMenu)

    android一共有三种形式的菜单:                  1.选项菜单(optinosMenu)                  2.上下文菜单(ContextMenu)       ...

  2. Android开发系列(二十八):使用SubMenu创建选项菜单

    大部分手机上边都会有一个"MENU"键,在一个应用安装到手机上之后,能够通过"MENU"显示该应用关联的菜单. 可是,从Android 3.0開始,Androi ...

  3. Android Menu,OptionMenu选项菜单,ContextMenu上下文菜单,Contextual ActionMode,PopUp Menu,PopU pWi ndow

    Android Menu 一.Opti onMenu选项菜单: (一).简介: 1.A ndroi d应用中的菜单默认是隐藏的,只有当用户点击手机上的ME NU 键,系统才会显示菜单.这种菜单叫做选项 ...

  4. Android之选项菜单和上下文菜单解析

    选项菜单 创建选项菜单 Activity类的onCreateOptionMenu事件方法用来创建选项菜单,该方法定义如下: @Overridepublic boolean onCreateOption ...

  5. android菜单详解二:选项菜单

    创建一个选项菜单 选项菜单里应该包含基本的activity动作和必须的导航条目 (例如,一个打开程序设置的菜单项). 选项菜单的菜单项有两种不同的选择方法,一是菜单项按钮,二是通过 Action Ba ...

  6. 【Android基础知识】选项菜单、上下文菜单、子菜单的使用

    Android菜单类型 菜单是为了增加更多的功能,不占用屏幕的空间.Android中菜单类型有三类,选项菜单(OptionMenu).上下文菜单(ContextMenu).子菜单(SubMenu),下 ...

  7. Menu控件(Android设置选项菜单和快捷菜单)

    首先区分一下什么是选项菜单,什么是快捷菜单. 选项菜单是针对整个页面布局的,在这个页面布局的右上方,点击之后可以会展开选项,供大家选择. 快捷菜单正如其名,十分方便,因为他可以依赖于任何控件,定义之后 ...

  8. android中快捷菜单,Menu控件(Android设置选项菜单和快捷菜单)

    首先区分一下什么是选项菜单,什么是快捷菜单. 选项菜单是针对整个页面布局的,在这个页面布局的右上方 ,点击之后可以会展开选项,供大家选择. 快捷菜单正如其名,十分方便,因为他可以依赖于任何控件,定义之 ...

  9. Android开发:Menu选项菜单

    创建选项菜单的步骤: 1.覆盖Activity的onCreateOptionsMenu(Menu menu)函数 2.调用menu的add()方法添加菜单项(MenuItem),调用MenuItem的 ...

最新文章

  1. 如何搭建一个拖垮公司的技术架构?
  2. 与基础事务管理器通讯失败
  3. python jit_Pyston是一个基于JIT的Python开源实现
  4. SAP Cloud Platform Identity Authentication service
  5. linux用if语句编程序,Shell 脚本基础 - 使用 if 语句进行条件检测
  6. Django的核心思想ORM
  7. 嵌入式linux的学习笔记-pipe管道(二)
  8. Oracle数据库分页查询的几种实现方法
  9. MyBatis学习总结_Mybatis查询之resultMap和resultType区别
  10. 安装inotify-tools监控工具
  11. mysql 用户列表数据结构_MySQL数据结构-行结构
  12. 计算机编程与数控宏程序实例教程,数控车床编程教程,图文实例详解
  13. 谷歌浏览器无法定位程序输入点解决方法
  14. python识别文字位置_如何利用Python识别图片中的文字
  15. win10触摸板手势教程
  16. Java 身份证号码验证工具类
  17. 技术胖Web前端视频教程合集
  18. 2019届互联网校招薪资盘点!
  19. oracle数据库报错:ORA-01654: 索引 aaa 无法通过 128 (在表空间 bb 中) 扩展
  20. oracle中制表符,oracle中去掉文本中的换行符、回车符、制表符

热门文章

  1. 第三次作业——朱华泓
  2. JNI-获取Java对象的成员变量-GeInttField()
  3. PLSQL Developer学习笔记
  4. steghide隐写术
  5. JS组件系列——封装自己的JS组件
  6. 局部内部类如何访问外部类方法中变量
  7. HDU 4336 Card Collector(容斥原理+状态压缩)
  8. java报表的导出excel_java导出excel报表
  9. L1-069 胎压监测 (15 分)
  10. 剑指offer-JZ30 包含min函数的栈(C++,附自己的分析)