Android 选项菜单Option Menu 使用

每个Activity都可以有至多一个选项菜单
菜单的视图文件最好在res下再新建一个目录存放,菜单视图文件名就是一个菜单资源标识

选项菜单的创建和使用

xml部分

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <item android:title="登录"
        android:id="@+id/login"
        />
    <item android:title="注册"
        android:id="@+id/register"
        />
    <item android:title="其他">
        <menu>
            <item android:title="系统更新"/>
            <item android:title="设置"/>
            <item android:title="关于"/>
        </menu>
    </item>
</menu>

java部分

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    // 初始化加载菜单
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {

        // MenuInflater是菜单xml文件的加载器,用它解析xml代码并加载到当前的menu对象中
        MenuInflater ml = getMenuInflater();

        // 第一个参数  menu的xml文件资源   第二个参数  当前的menu对象
        ml.inflate(R.menu.option, menu);

        // 必须返回true,否则菜单将不会显示
        return true;
    }

    // 选项菜单 菜单项监听器
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {

        // 定位到每个菜单项
        switch (item.getItemId()) {
            case R.id.login:
                Toast.makeText(this, "你刚刚点了登录", Toast.LENGTH_LONG).show();
                break;
            case R.id.register:
                Toast.makeText(this, "你刚刚点了注册", Toast.LENGTH_LONG).show();
                break;
        }
        return true;
    }
}

原文地址:https://www.cnblogs.com/esrevinud/p/12112832.html

时间: 2024-08-06 13:14:46

Android 选项菜单Option Menu 使用的相关文章

Android 选项菜单Options Menu

一般的手机上都会有一个home键,单击后会显示出一系列的菜单,这个即是选项菜单(Options Menu),Options Menu开发主要涉及Menu,MenuItem,Submenu. 1.一个Menu对象代表一个菜单,Menu对象可以添加MenuItem,也可以添加子菜单Submenu: 2.MenuItem 对象代表一个菜单选项,通常MenuItem实例通过Menu.add()方法添加. menu.add(int group_id,int item_id,int order,CharSe

Android选项菜单和上下文菜单解析

选项菜单 创建选项菜单 Activity类的onCreateOptionMenu事件方法用来创建选项菜单,该方法定义如下: @Override public boolean onCreateOptionsMenu(Menu menu) { return super.onCreateOptionsMenu(menu); } 一般需要将创建选项菜单的代码放在onCreateOptionMenu方法中.通过Menu.add方法可以添加一个选项菜单.该 方法有4种重载形式,定义如下: public Me

安卓开发复习笔记——Menu菜单组件(选项菜单,上下文菜单,子菜单)

菜单是用户界面中最常见的元素之一,使用非常频繁,在Android中,菜单被分为如下三种,选项菜单(OptionsMenu).上下文菜单(ContextMenu)和子菜单(SubMenu). 菜单的实现方式有2种:一种是通过布局文件xml生成菜单,另一种是通过代码生成. 三种菜单内容有点多,不过大体相似,一次性讲完吧,本人偏好代码动态生成,下面就以代码为例. 1.选项菜单(OptionsMenu) 先来看下选项菜单的效果图:   在一个Activity界面中点击手机Menu键,在屏幕下方弹出的菜单

处女男学Android(十二)---Android 菜单(Menu)详解与应用

一.前言 转载请标明出处:http://blog.csdn.net/wlwlwlwl015/article/details/42170771 本篇blog将记录一下Android中菜单的使用方法,虽然在新版本中推荐使用ActionBar去替代菜单,但我认为菜单依然是挺不错的一种UI交互组件,比ActionBar好点一些,对于手指不灵活的人比起来ActionBar右上角的那个方块小按钮,或许ta会更喜欢Menu呢,废话不多说,下面就具体介绍一下Android中关于Menu的使用方法. 二.创建第一

android菜单(menu)资源

一. 菜单资源通常放在res/menu目录下,菜单资源是的根元素通常是<menu></menu>标记,在该标记下可以包含以下两个元素. 1.<item></item>标记:用于定义菜单项. 2.<group></group>标记:用于将多个<item></item>标记定义的菜单包装成一个菜单组. 在menu_main.xml的具体代码如下: <menu xmlns:android="http:

Android 控件 之 Menu 菜单

http://www.cnblogs.com/Mrs-cc/archive/2012/07/21/2603042.html 1.OptionsMenu (选项菜单)用法总结 使用方法: 方法一:添加菜单项:onCreateOptionsMenu(Menu menu)中添加menu.add(Menu.NONE,Menu.FIRST+1,5,"删除").setIcon()------>添加选择菜 单项事件:在onOptionsItemSelected(MenuItem item)中

Android创建并响应选项菜单

创建options menu 之前提到,Android的activity已经为我们提前创建好了android.view.Menu对象,并提供了回调方法onCreateOptionsMenu(Menu menu)供我们初始化菜单的内容.该方法只会在选项菜单第一次显示的时候被执行,如果你需要动态改变选项菜单的内容,请使用 onPrepareOptionsMenu(Menu). @Overridepublicboolean onCreateOptionsMenu(Menu menu) { // 调用父

[android](学习笔记7)为应用程序添加选项菜单

1 在xml文件中定义选项菜单: 创建res/menu目录,并添加xml文件:选择New-Android XML File.选择Menu文件资源类型: 打开新建的xml文件,切换到xml编辑视图,添加新的item元素: <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android" &g

Android学习笔记之Menu一级菜单、二级菜单的使用

(1)布局文件没有做更改 (2)在res--menu目录下的main.xml文件中代码如下: <menu xmlns:android="http://schemas.android.com/apk/res/android" > <!-- 一级菜单 --> <item android:id="@+id/file" android:title="@string/file"> <!-- 二级菜单 -->