• 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;
         
    };

  • 相关阅读:
    SpringCloudAlibaba学习笔记-简介
    SpringCloudAlibaba学习笔记-目录
    go语言学习笔记-目录
    go语言学习笔记-配置idea开发go编程语言并配置导入本地包
    go语言学习笔记-Windows10开发环境安装和环境变量配置
    我与阿里云的日常-QuickBI开发教程
    我与阿里云的日常-阿里云帐号注册
    消息队列 RabbitMq(6)高级特性
    消息队列 (5) RabbtMQ SpringBoot整合
    Nginx的安装和使用
  • 原文地址:https://www.cnblogs.com/lechance/p/4373371.html
Copyright © 2020-2023  润新知