zoukankan      html  css  js  c++  java
  • Android 之Menu

    在Android系统中,菜单可以分为两种,一种是,我们点击Menu键时出现的菜单项,另一种是我们长按屏幕不放,然后出现的系统菜单项。本文中,我们主要来看一下。第一种菜单是怎么添加的。

     

    1、首先我们打开res/values/strings.xml,为我们的菜单,添加一些基本的信息

     

    <string name="setting_label">Setting</string>   
    <string name="setting_title">我的菜单</string>
    <string name="setting_shutcut">S</string>
    <string name="music_title">Music</string> 
    <string name="music_summary">播放音乐</string>

     

    2、在res文件夹下,新建menu文件夹,并建立menu.xml,将如下信息定义到menu.xml中

     

    <item android:id="@+id/settings" android:title="@string/setting_title" android:alphabeticShortcut="@string/setting_shutcut"></item>

     

    android:id:定义菜单的id

     

    android:title:定义菜单显示的文本

     

    android:alphabeticShortcut:定义菜单的响应快捷键

     

    3、在主Activity中,重写一个方法,因为,Android在加载菜单的时候,需要触发CreateOptionsMenu,所以,我们就重写该事件的回调函数。onCreateOptionsMenu。然后,在里边添加如下代码:

     

    //根据xml的配置项生成Menu下的菜单项
    public boolean onCreateOptionsMenu(android.view.Menu menu) {
      
         super.onCreateOptionsMenu(menu);
         
         MenuInflater inmenu=getMenuInflater();//得到menuinflater,用于加载菜单项
         
         inmenu.inflate(R.menu.menu, menu);//根据xml的定义生成菜单项
         
         return true;
    }

     

    4、我们运行程序,然后点击模拟器中的menu键。就可以出现我们的菜单了。如图:

     

    Android系统开发之添加程序菜单

     

    如果我们想点击菜单时,弹出新的activity,那么我们需要重写。onOptionsItemSelected。然后编写我们的逻辑即可,如下代码,其中Settings是我自定义的activity类:

    public boolean onOptionsItemSelected(android.view.MenuItem item) {
         
         switch (item.getItemId()) {
               case R.id.settings:
       
                   Intent i=new Intent(this,Settings.class);
       
                   startActivity(i);
       
               default:
                  break;
          }
         
            return false;
         
    };

  • 相关阅读:
    alkhaser学习笔记(一)Anti Debug
    8086 汇编指令手册查询(转)
    QueryUserAPC Ring3下 APC注入
    内存分配(malloc,new,VirtualAlloc,HeapAlloc,GlobalAlloc,LocalAlloc)区别与注意
    error C2220: 警告被视为错误 没有生成“object”文件 (转)
    消息队列
    分页存储过程(对有主键的表效率极高)
    asp.net vs2010 设计报表rdlc时,未能加载文件或程序集
    【翻译】创建ViewState特征的自动ViewState属性
    中英文字符的截取
  • 原文地址:https://www.cnblogs.com/lechance/p/4373371.html
Copyright © 2011-2022 走看看