Android之创建选项菜单
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之创建选项菜单相关推荐
- Android开发之选项菜单(optinosMenu)
android一共有三种形式的菜单: 1.选项菜单(optinosMenu) 2.上下文菜单(ContextMenu) ...
- Android开发系列(二十八):使用SubMenu创建选项菜单
大部分手机上边都会有一个"MENU"键,在一个应用安装到手机上之后,能够通过"MENU"显示该应用关联的菜单. 可是,从Android 3.0開始,Androi ...
- Android Menu,OptionMenu选项菜单,ContextMenu上下文菜单,Contextual ActionMode,PopUp Menu,PopU pWi ndow
Android Menu 一.Opti onMenu选项菜单: (一).简介: 1.A ndroi d应用中的菜单默认是隐藏的,只有当用户点击手机上的ME NU 键,系统才会显示菜单.这种菜单叫做选项 ...
- Android之选项菜单和上下文菜单解析
选项菜单 创建选项菜单 Activity类的onCreateOptionMenu事件方法用来创建选项菜单,该方法定义如下: @Overridepublic boolean onCreateOption ...
- android菜单详解二:选项菜单
创建一个选项菜单 选项菜单里应该包含基本的activity动作和必须的导航条目 (例如,一个打开程序设置的菜单项). 选项菜单的菜单项有两种不同的选择方法,一是菜单项按钮,二是通过 Action Ba ...
- 【Android基础知识】选项菜单、上下文菜单、子菜单的使用
Android菜单类型 菜单是为了增加更多的功能,不占用屏幕的空间.Android中菜单类型有三类,选项菜单(OptionMenu).上下文菜单(ContextMenu).子菜单(SubMenu),下 ...
- Menu控件(Android设置选项菜单和快捷菜单)
首先区分一下什么是选项菜单,什么是快捷菜单. 选项菜单是针对整个页面布局的,在这个页面布局的右上方,点击之后可以会展开选项,供大家选择. 快捷菜单正如其名,十分方便,因为他可以依赖于任何控件,定义之后 ...
- android中快捷菜单,Menu控件(Android设置选项菜单和快捷菜单)
首先区分一下什么是选项菜单,什么是快捷菜单. 选项菜单是针对整个页面布局的,在这个页面布局的右上方 ,点击之后可以会展开选项,供大家选择. 快捷菜单正如其名,十分方便,因为他可以依赖于任何控件,定义之 ...
- Android开发:Menu选项菜单
创建选项菜单的步骤: 1.覆盖Activity的onCreateOptionsMenu(Menu menu)函数 2.调用menu的add()方法添加菜单项(MenuItem),调用MenuItem的 ...
最新文章
- 如何搭建一个拖垮公司的技术架构?
- 与基础事务管理器通讯失败
- python jit_Pyston是一个基于JIT的Python开源实现
- SAP Cloud Platform Identity Authentication service
- linux用if语句编程序,Shell 脚本基础 - 使用 if 语句进行条件检测
- Django的核心思想ORM
- 嵌入式linux的学习笔记-pipe管道(二)
- Oracle数据库分页查询的几种实现方法
- MyBatis学习总结_Mybatis查询之resultMap和resultType区别
- 安装inotify-tools监控工具
- mysql 用户列表数据结构_MySQL数据结构-行结构
- 计算机编程与数控宏程序实例教程,数控车床编程教程,图文实例详解
- 谷歌浏览器无法定位程序输入点解决方法
- python识别文字位置_如何利用Python识别图片中的文字
- win10触摸板手势教程
- Java 身份证号码验证工具类
- 技术胖Web前端视频教程合集
- 2019届互联网校招薪资盘点!
- oracle数据库报错:ORA-01654: 索引 aaa 无法通过 128 (在表空间 bb 中) 扩展
- oracle中制表符,oracle中去掉文本中的换行符、回车符、制表符