一、概述

Menu,简单来理解就是当你按下手机的“menu”键时所弹出来的窗体,它被广泛应用着,差点儿在每一个应用中都有它的身影。

二、要求

用两种方式实现菜单功能。

三、实现

新建projectMyMenu,改动/res/layout/main.xml文件,主要是改动了里面的TextView,完整的main.xml文件例如以下:

 1 <?

xml version="1.0" encoding="utf-8"?>
2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 android:layout_width="fill_parent"
4 android:layout_height="fill_parent"
5 android:orientation="vertical" >
6
7 <TextView
8 android:layout_width="fill_parent"
9 android:layout_height="wrap_content"
10 android:text="这是一个菜单測试程序"
11 android:gravity="center_horizontal"
12 />
13
14 </LinearLayout>

接着。改动MyMenuActivity.java文件,主要是覆写了onCreateOptionsMenu()和onOptionsItemSelected()这两个方法,在onCreateOptionsMenu()方法里添加7个选项。比較简单。完整的内容例如以下:

 1 package com.nan.menu;
2
3 import android.app.Activity;
4 import android.os.Bundle;
5 import android.view.Menu;
6 import android.view.MenuItem;
7 import android.widget.Toast;
8
9 public class MyMenuActivity extends Activity
10 {
11 /** Called when the activity is first created. */
12 @Override
13 public void onCreate(Bundle savedInstanceState)
14 {
15 super.onCreate(savedInstanceState);
16 setContentView(R.layout.main);
17
18 }
19
20 @Override
21 //当"menu"button被按下时运行这个函数
22 public boolean onCreateOptionsMenu(Menu menu)
23 {
24 menu.add(0, 0, Menu.NONE, "菜单").setIcon(android.R.drawable.btn_star);
25 menu.add(0, 1, Menu.NONE, "菜单").setIcon(android.R.drawable.btn_star);
26 menu.add(0, 2, Menu.NONE, "菜单").setIcon(android.R.drawable.btn_star);
27 menu.add(0, 3, Menu.NONE, "菜单").setIcon(android.R.drawable.btn_star);
28 menu.add(0, 4, Menu.NONE, "菜单").setIcon(android.R.drawable.btn_star);
29 menu.add(0, 5, Menu.NONE, "菜单").setIcon(android.R.drawable.btn_star);
30 menu.add(0, 6, Menu.NONE, "菜单").setIcon(android.R.drawable.btn_star);
31
32 return super.onCreateOptionsMenu(menu);
33 }
34
35
36 //当菜单中某项被选中时运行这个函数
37 @Override
38 public boolean onOptionsItemSelected(MenuItem item)
39 {
40 switch(item.getItemId())
41 {
42 case 0:displayToast("第0项被选中");break;
43 case 1:displayToast("第1项被选中");break;
44 case 2:displayToast("第2项被选中");break;
45 case 3:displayToast("第3项被选中");break;
46 case 4:displayToast("第4项被选中");break;
47 case 5:displayToast("第5项被选中");break;
48 case 6:displayToast("第6项被选中");break;
49
50 }
51
52 return super.onOptionsItemSelected(item);
53 }
54
55 /*
56 @Override
57 public boolean onCreateOptionsMenu(Menu menu)
58 {
59 MenuInflater inflater = getMenuInflater();
60 inflater.inflate(R.layout.menu, menu); menu.add(0,0,Menu.NONE, "1").setIcon(R.drawable.ic_launcher);//自己增加其它东西
61 return super.onCreateOptionsMenu(menu);
62 }
63
64 @Override
65 public boolean onOptionsItemSelected(MenuItem item)
66 {
67 int item_id = item.getItemId();
68
69 switch(item_id)
70 {
71 case R.id.mlist://自定义
72 {}
73 }
74 return super.onOptionsItemSelected(item);
75 }
76 */
77
78
79
80 //显示Toast函数
81 private void displayToast(String s)
82 {
83 Toast.makeText(this, s, Toast.LENGTH_LONG).show();
84 }
85
86 }

能够用把凝视去掉然后把代码换成XML来构建menu

名字叫做menu

  1. <menu xmlns:android="http://schemas.android.com/apk/res/android" >
  2. <!-- Search, should appear as action button -->
  3. <item android:id="@+id/action_search"
  4. android:icon="@drawable/ic_action_search"
  5. android:title="@string/action_search"
  6. android:showAsAction="ifRoom" />
  7. <!-- Settings, should always be in the overflow -->
  8. <item android:id="@+id/action_settings"
  9. android:title="@string/action_settings"
  10. android:showAsAction="never" />
  11. </menu>

不知道为什么图标出不来。仅仅能在列表里表示。

PS:没有图标是仅仅能在list里面的不能再actionbar里面的

Android menu+ anctionbar的更多相关文章

  1. Android Menu开源项目整合工程

    本实例整合了关于Android Menu的优秀开源代码,方便有需要用到Menu开源项目的小伙伴使用. 一.整合的项目有: SlidingMenu:https://github.com/jfeinste ...

  2. android Menu

    menu <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="h ...

  3. Android Menu 主菜单是使用

    在Android里面每个Activity都绑定了一个Menu(菜单)有些时候我们需要使用到菜单.用法很简单,我们只需要重写onCreateOptionsMenu和onOptionsItemSelect ...

  4. android menu的问题

    1.简单使用 @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.me ...

  5. Android Menu菜单使用

    如上图右上角,菜单选项的编辑,第一种代码实现方式如下: package com.example.menu; import android.os.Bundle; import android.app.A ...

  6. Android menu 简单创建

    在android 中与menu相关的类有4个: Menu:菜单的父窗口,用于创建一个菜单,是subMenu,ContentMenu,MenuItem等的父接口:SubMenuyo用于创建子菜单,Con ...

  7. android menu 开发

    menu 分类: 选项菜单(OptionsMenu) 上下文菜单(ContextMenu) 子菜单(SubMenu) 弹出菜单(Popup)   首先说 选项菜单(OptionsMenu) 一.方法介 ...

  8. android menu菜单自动生成

    Android提供了一些简单的方法来为应用添加Menu菜单. 提供了三种类型应用菜单: 一.Options Menu:通过Menu按钮调用菜单 1.在/res/目录下新建menu文件夹,用于存储Men ...

  9. xamarin android menu的用法

    在Android中的菜单有如下几种: OptionMenu:选项菜单,android中最常见的菜单,通过Menu键来调用 SubMenu:子菜单,android中点击子菜单将弹出一个显示子菜单项的悬浮 ...

随机推荐

  1. [POI2000]病毒 --- AC自动机

    [POI2000]病毒 题目描述: 二进制病毒审查委员会最近发现了如下的规律: 某些确定的二进制串是病毒的代码. 如果某段代码中不存在任何一段病毒代码,那么我们就称这段代码是安全的. 现在委员会已经找 ...

  2. [CodeVS1243]网络提速

    题目大意: 有n个点的连通图,有m次可以将某一条边权值减半的机会. 不同的机会可以叠加作用于同一条边. 求1~n的最短路. 思路: 拆点,记录1到每个点在使用不同次数的机会后的最短路,然后直接跑Dij ...

  3. zoj 3469 区间dp **

    题意:有一家快餐店送外卖,现在同时有n个家庭打进电话订购,送货员得以V-1的速度一家一家的运送,但是每一个家庭都有一个不开心的值,每分钟都会增加一倍,值达到一定程度,该家庭将不会再订购外卖了,现在为了 ...

  4. hdu 4451 Dressing 排列组合/水题

    Dressing Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Subm ...

  5. POJ 3061 Subsequence 尺取法,一个屌屌的O(n)算法

    Subsequence Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 9050   Accepted: 3604 Descr ...

  6. 移动端适配之REM

    随着手机等移动设备的普及,移动端带来的流量已经不可忽视,一个网站不只是只有pc的页面就足够了,移动端的适配已经势在必行.但是移动设备种类繁多,屏幕尺寸也千奇百怪,能不能找到一种方式可以适配所有的手机屏 ...

  7. centos7安装kafka_2.11-1.0.0 新手入门

    系统环境 1.操作系统:64位CentOS Linux release 7.2.1511 (Core) 2.jdk版本:1.8.0_121 3.zookeeper版本:zookeeper-3.4.9. ...

  8. [重要更新][Quartus II][14.1正式版]

    [Quartus II][14.1正式版] ----14.1版本最大的变化就是增加了2大系列的器件库: MAX 10和Arria 10.这2大系列据Altera中国区代理 骏龙科技的人说,就是为了和X ...

  9. window server 2012 更改密钥 更改系统序列号

    由于在window server 2012当中,好像更改密钥的方法,给隐藏了,没办法激活,这里记录一下在网上查找到的一个命令行,如何在window server 2012 更改密钥 更改系统序列号 在 ...

  10. Windows程序的打包,部署(vs项目打包vs2013)---ShinePans

    Windows 应用程序在开发完毕之后,怎样将程序打包并制作成安装程序在客户机上部署 是每一个windows应用程序开发完毕之后都必须面对的问题. 学习目标:                    部 ...