zoukankan      html  css  js  c++  java
  • Menu创建菜单

           菜单是用户界面中最常见的元素之一,使用非常频繁,在Android中,菜单被分为如下三种,选项菜单(OptionsMenu)、上下文菜单(ContextMenu)和子菜单(SubMenu),今天这讲是OptionsMenu 

      一、概述:这里偷懒,从网上引用的,非原创。引用出处:ForrestWoo

      public boolean onCreateOptionsMenu(Menu menu):使用此方法调用OptionsMenu 。

      public boolean onOptionsItemSelected(MenuItem item):选中菜单项后发生的动作。

      public void onOptionsMenuClosed(Menu menu):菜单关闭后发生的动作。

      public boolean onPrepareOptionsMenu(Menu menu):选项菜单显示之前onPrepareOptionsMenu方法会被调用,你可以用此方法来根据打当时的情况调整菜单。

      public boolean onMenuOpened(int featureId, Menu menu):单打开后发生的动作。

         首先我们先创建一个menu文件,这里用的是android studio,创建方式如下:

          1.

          2.

          3.创建完成后,在muen.xml中写以下代码,分别是创建两个meun控件(C#叫控件,这里就采用这种叫法),代码如下:

                  

    1 <?xml version="1.0" encoding="utf-8"?>
    2 <menu xmlns:android="http://schemas.android.com/apk/res/android">
    3               <item android:id="@+id/add_item"
    4                   android:title="添加一个menu"/>
    5 
    6               <item android:id="@+id/move_item"
    7                   android:title="移除一个menu"
    8                   />
    9 </menu>

          在Studio中是这样显示的:

          

            4.接下来我们重写OnCrateOptionsMenu()方法:代码如下

              

    1 /*@ onCreateOptionsMenu
    2 * */
    3     public boolean onCreateOptionsMenu(Menu menu) {
    4         getMenuInflater().inflate(R.menu.menu, menu);
    5         return true    ;
    6     }
    View Code

            *通过getMenuInflater()方法得到对像,再调用inflate()来创建活动菜单,光有菜单是不够的,我们要让它显示出来:添加以下代码:

     

     1 public boolean onOptionsItemSelected(MenuItem item)
     2            {
     3                switch (item.getItemId())
     4                {
     5                    case R.id.add_item: //在menu文件中定义的ID
     6                        Toast.makeText(this,"弹出一个menu",Toast.LENGTH_SHORT).show();
     7                             break;
     8                    case  R.id.move_item://同上
     9                        Toast.makeText(this,"关闭一个menu",Toast.LENGTH_SHORT).show();
    10                    default:
    11 
    12                        break;
    13                }
    14                return  true;
    15            }
    onOptionsItemSelected

    重写onOptionsItemSelected方法,通过调用getItemId()方法来判断点击的是哪一个菜单。效果如下:

     

  • 相关阅读:
    七十年前往事的回顾:偷窥造酒作坊的裸体男人
    Python画图工具matplotlib的安装
    版本号控制-搭建gitserver
    HDU 4405 概率期望DP
    下载jdk文件后缀是.gz而不是.tar.gz怎么办
    《小亚和小信》小强,你就长点心吧!
    7.11 小结
    动态规划 LCS,LIS
    每秒更新时间 v-text的应用 (解决闪现{}问题)
    vue 引入组件
  • 原文地址:https://www.cnblogs.com/c546170667/p/6041191.html
Copyright © 2011-2022 走看看