`
zhangziyangup
  • 浏览: 1187154 次
文章分类
社区版块
存档分类
最新评论

Android入门基础(13) menu菜单汇总

 
阅读更多

Android入门学习(13

------简单实用菜单menu

Menu有两种加载方法,可以再java代码中加入,也可以再res/menu下的.xml文件下配置完成。

java代码中使用

1、覆盖ActivityonCreateOptionsMenu(Menu menu)函数

2、 调用menuadd()方法添加菜单项(MenuItem),可以调用MenuItemsetIcon()方法来为菜单设置图标

3、当菜单项()被选择时,我们可以通过覆盖ActivityonOptionsItemSeleted()方法来响应事件,利用返回值可以调用时件函数。

具体事例:

/**

*返回值为boobean,静态的添加了菜单项

*/

publicboolean onCreateOptionsMenu(Menu menu)

{

menu.add(0,0,0,R.string.app_about);

menu.add(0,1,1,R.string.app_exit);

returnsuper.onCreateOptionsMenu(menu);

}

解释下menu.add()方法:

应用android SDK/doc,此方法有很对重载方法,这里只引用一处。

public abstractMenuItemadd(int groupId, int itemId, int order,CharSequencetitle)

Add a new item to themenu. This item displays the given title for its label.

Parameters

groupId

The group identifier that this item should be part of. This can be used to define groups of items for batch state changes. Normally useNONEif an item should not be in a group.

itemId

Unique item ID. UseNONEif you do not need a unique ID.

order

The order for the item. UseNONEif you do not care about the order. SeegetOrder().

title

The text to display for the item.

publicabstractMenuItemadd(int groupId, int itemId, int order, inttitleRes)

参数说明:

groudId:是指组ID,用以批量地对菜单子项进行处理和排序

itemId:是子项ID,是每一个菜单子项的唯一标识

order:指定菜单子项在选项菜单中的排列顺序

titlerRes菜单标题的引用

/**

 *对user的选择做出判断

 */

publicboolean onOptionsItemSelected(MenuItem item)

    {

       super.onOptionsItemSelected(item);

       switch(item.getItemId())

       {

       case 0:

          openOptionsDialog(); //响应时间

          break;

       case 1:

          finish();

          break;

       

       }

       returntrue;

    }

 

/**

*点击处理函数。类似于按钮监听

*/

privatevoid openOptionsDialog() {

       // 这里写要处理的方法行为

       

    }

还可以为menu设置图像:

public boolean onCreateOptionsMenu(Menumenu) { 
        menu.add(0, ITEM, 0, "下载").setIcon(R.drawable.download);//设置图标 
          return true;

   } 


二再xml中配置和上面可以实现相同效果

1,res下建立menu文件夹,在内建立menufail.xml文件

<?xmlversion="1.0"encoding="utf-8"?>

<menuxmlns:android="http://schemas.android.com/apk/res/android">

<group android:id="@+id/grout_main">

<itemandroid:id="@+id/menu_a"

android:title="关于"/>

<itemandroid:id="@+id/menu_b"

android:title="退出"/>

</group>

</menu>

2覆盖ActivityonCreateOptionsMenu(Menu menu)函数

@Override
publicboolean
onCreateOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
MenuInflater inflater =getMenuInflater();
inflater.inflate(R.menu.menufile,menu);
returntrue
;
}

SubMenu

步骤和上基本一样,代码有区别,重写时:

publicboolean onCreateOptionsMenu(Menu menu)

{

SubMenu subMenu = menu.addSubMenu(1, 100, 100, "选我");

subMenu.add(2, 101, 101, "男人");

subMenu.add(2, 102, 102, "女人");

returnsuper.onCreateOptionsMenu(menu);

}

3Context Menu

  首先在main.xml里定义若干个按钮。然后覆盖onCreateContextMenu(ContextMenu menu,View v, ContextMenuInfo menuInfo)方法。里面的代码如下:

首先要注册一下,在onCreate方法里,如下代码:

代码

@Override
publicvoid
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.main);
b1 = (Button)findViewById(R.id.b1);
b2 = (Button)findViewById(R.id.b2);
registerForContextMenu(b1);
registerForContextMenu(b2);
}

代码

@Override
publicvoid
onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
// TODO Auto-generated method stub
if
(v==b1){
menu.setHeaderTitle("这是
1");
menu.add(200, 200, 200,"Context Menu 1");
menu.add(200, 201, 201, "ContextMenu 2");
}
elseif
(v==b2){
menu.setHeaderTitle("这是
2");
menu.add(300, 300, 300,"C 1");
menu.add(300, 301, 301,"C 2");
}
super
.onCreateContextMenu(menu, v, menuInfo);
}

分享到:
评论

相关推荐

    Android 技巧汇总

    Menu 是 Android 中最常用的界面控件之一,可以用来实现各种菜单功能。 Activity 管理 Activity 管理是 Android 中的核心部分,包括 Activity 的生命周期、Activity 的切换、Activity 的启动等。Activity 是 ...

    android开发资料大全

    android用户界面之菜单(Menu)教程实例汇总 android用户界面之Layout(布局)教程汇总 android用户界面之Checkbox教程实例汇总 Android Wifi方法大全【总有一种方法适合你】 android开发环境搭建篇详尽的教程实例汇 ...

    Android程式设计及调试新手入门.pdf

    ### Android程式设计及调试新手入门知识点汇总 #### 一、前言:闲言碎语与学习计划 **文档概述:** 文档《Android程式设计及调试新手入门V1.0.0》由Mercury撰写,旨在为初学者提供Android应用程序开发的基础知识。...

    Android_技巧汇总(1)

    【Android 技巧汇总(1)】 在Android开发过程中,掌握一些实用的技巧能极大地提高开发效率和用户体验。以下是一些关键的Android编程技巧的汇总: 1. **入门实例剖析** 入门实例通常是学习任何新平台的第一步。对于...

    Android开发技巧总汇

    ### Android开发技巧总汇 #### 1. 入门实例剖析 在开始深入探讨各种Android开发技巧之前,我们首先从一个简单的入门实例入手——“记事本”应用。这一部分旨在帮助初学者快速上手,并逐步熟悉Android开发的基本...

    android开发技巧总汇android开发培训-教师必备.docx

    【Android 开发技巧总汇】 Android 开发是构建移动应用程序的关键技术,对于教师而言,掌握这些技巧能够更好地指导学生和提升教学效果。本文档将详细阐述一些关键的Android开发技巧和概念,帮助教师们深入理解并...

    Android开发技巧汇总(1).pdf

    3. Menu的用法:Menu在Android中用于在应用程序的顶部栏或下拉菜单中提供选项。简单代码示例展示了如何在活动中添加菜单项,而实现的两种方法可能包括了 inflate 方法和动态创建菜单项。 4. Activity的切换:...

    Android 6.0开发实现关机菜单添加重启按钮的方法

    此外,本站还提供了许多其他与 Android 相关的内容,例如《Android开发入门与进阶教程》、《Android调试技巧与常见问题解决方法汇总》、《Android基本组件用法总结》、《Android视图View技巧总结》等。感兴趣的读者...

    Android组件实现长按弹出上下文菜单功能的方法

    例如Android基本组件用法总结、Android开发入门与进阶教程、Android布局layout技巧总结、Android视图View技巧总结、Android编程之activity操作技巧总结、Android资源操作技巧汇总、Android控件用法总结等。...

    很有用的安卓使用方案

    有两种方式实现菜单:静态菜单(在menu资源文件中定义)和动态菜单(在代码中创建)。静态菜单通常在res/menu目录下创建XML文件,然后在Activity的onCreateOptionsMenu()方法中加载。 ```xml &lt;!-- res/menu/main....

Global site tag (gtag.js) - Google Analytics