Android笔记:Menu

使用菜单选项Menu,需要进行以下操作:
(1)重写onCreateOptionsMenu方法;

public boolean onCreateOptionsMenu(Menu menu) {
 getMenuInflater().inflate(R.menu.main, menu);
 return true;
}

(2)在menu的main.xml文件中加入item的声明.

(3)重写onOptionsItemSelected方法

public boolean onOptionsItemSelected(MenuItem item) {
 switch (item.getItemId()) {
     case item1:
           break;
     case item2:
           break;
     ...
     default:
}
return true;
}

示例代码模仿自《第一行代码》

(1)MenuDemo.java的代码如下:

public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);  //消去标题栏
        setContentView(R.layout.activity_main);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    //定义菜单响应事件
    public boolean onOptionsItemSelected(MenuItem item) {
         switch(item.getItemId()){
         case R.id.riven:
               Toast.makeText(this, "断剑重铸之日,其势归来之时!!",  Toast.LENGTH_SHORT).show();
               break;
         case  R.id.ezreal:
               Toast.makeText(this, "是时候表演真正的技术!!", Toast.LENGTH_SHORT).show();
               break;
        default:
         }
        return true;
    }
}

(2)在layout的activity_main.xml:

 <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="欢迎来到召唤师峡谷!\n请点击菜单键显示菜单选项" />

(3)在menu的main.xml代码:

<menu xmlns:android="http://schemas.android.com/apk/res/android" >
      <item
        android:id="@+id/riven"
        android:orderInCategory="100"
        android:showAsAction="never"
        android:title="放逐之刃锐雯"/>

      <item
        android:id="@+id/ezreal"
        android:orderInCategory="100"
        android:showAsAction="never"
        android:title="@string/ezreal"/>
</menu>

(4)在values的string.xml中,定义string常量.

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="app_name">MenuDemo</string>
    <string name="action_settings">Settings</string>
    <string name="hello_world">Hello world!</string>
    <string name="ezreal">探险家伊泽瑞尔</string>
</resources>

代码效果如下:

点击Menu选项后,显示如下:

时间: 2024-12-24 20:39:07

Android笔记:Menu的相关文章

Android学习笔记——menu

该工程的功能是实现两个数相乘,并在另外一个Activity中显示计算的结果 以下的代码是MainActivity.java中的代码 package com.example.menu; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.v

Android(java)学习笔记196:Android中menu的使用(静态和动态)

1.使用xml定义Menu(静态方法) 菜单资源文件必须放在res/menu目录中.菜单资源文件必须使用<menu>标签作为根节点.除了<menu>标签外,还有另外两个标签用于设置菜单项和分组,这两个标签是<item>和<group>. (1)<item>标签的属性 Id:表示菜单项的资源ID menuCategory:同种菜单项的种类.该属性可取4个值:container.system.secondary和alternative.通过menuC

android笔记4——Fragment的使用

说明第一下:按照前面的方式我们创建了项目,如果使用的是最新的ADT,Minimum Android SDK选的是android2.*或1.*,此时会默认创建一个兼容的项目,--appcompat_v7,这个项目还是不能删除的,删除会报错.. 说明第二下:项目创建好了之后,发现layout文件夹(布局)中会有默认两个文件:adtivity和fragment文件: 1.Fragment概述: Fragment意思为碎片,片段,说白了就是模块,说道模块,就不用我多说了.. 特征: Fragment总是

android笔记3——项目文件结构说明

以下是andoid项目文件结构图,常用操作部分已经用矩形框标注好了.. 接下来,我们队每一个文件夹或者文件说明一下: 1.核心文件AndroidManifest.xml,App清单文件,就像我们去饭店享食美味,饭店给我们提供的菜单一样.. 2.src,顾名思义,当然就是放置源代码的文件夹, MainActivity 表示的为Activity程序,Activity代表的为屏幕. 3.gen文件夹,这个其实也是代码文件夹,只不过这里面包含了R.java(只要往资源文件夹相应的位置中放如资源文件,会自

Android笔记之 开机自启动

在项目中用到开机自动运行功能,因此学习了下,在此作为笔记记录下. 主要是以下4个步骤: 1.原理了解: 通过搜查资料发现,当Android启动时,会发出一个系统广播,内容为ACTION_BOOT_COMPLETED,它的字符串常量表示为android.intent.action.BOOT_COMPLETED,因此我们只需要在自己的应用中接收这个广播,然后启动APP即可. 2.编写接收器 既然是接收广播,必然是要用广播接收器,因此新建一个继承自广播BroadcastReceiver的类来专门接收上

Android笔记(三十九) Android中的数据存储——SQLite(一)

SQLite是内置于Android的一款轻量级关系型数据库,她运算速度快,占用资源少,通常只需要几百K的内存就足够了,因而特别适合在移动设备上使用. SQLite不仅支持标准的SQL语法,还遵循数据库的ACID事务,所以如果有其他数据库基础,会上手很快.与其他数据库不同的是,SQLite不用设置用户名和密码就可以使用. 和其他数据库不同的是,SQLite没有其他数据库那么多繁杂的数据类型,它的数据类型很简单:integer表示整型,real表示浮点型,text表示文本类型,blob表示二进制类型

android笔记1——开发环境的搭建

Long Long ago...已经成为了历史,我还是要说出一个真相:早年前,那时候,android还不被大众所认知的时候,当然开发者也没不像现在那样趋于饱和状态.一位大牛前辈,也是我的学长,那时候我还在上大学.前辈告诫我有时间得去看看android开发,那时候的自己,年轻.冲动.不畏惧,毅然地选择了java服务端开发,放弃了学习android开发. 时隔数年的今天,因为公司业务项目的发展,我还是得去做android开发工作...虽然这几年间断断续续的看了些android开发,但是将成为历史的今

Android笔记之日期选择器

1.主代码 /** * 日期选择器 */ private DatePickerDialog datePickerDialog; /** * 年 */ private int mYear=1993; /** * 月 */ private int mMonth=12-1; /** * 日 */ private int mDay=16; ......................... //构造函数包括mYear, mMonth, mDay用来显示初始日期,同时设置监听 datePickerDial

Android笔记之标题栏的各种操作

1.改变标题栏的背景颜色 this.setTitleColor(textColor); 2.为页面设置返回键 ActionBar actionBar = getActionBar(); actionBar.setDisplayHomeAsUpEnabled(true); ... @Override public boolean onOptionsItemSelected(MenuItem item) { // TODO Auto-generated method stub switch (ite

Android笔记:Activity

1.Android可视化界面结构:    一个Android应用的可视化界面最底层是Activity,在他之上是一个Window对象,在window之上通常是布局容器,再上面才是用户直接交互的组件(按钮,文本框) 交互组件(UI控件)-->布局容器(layout)--->Window对象--->Activity2.Activity生命周期    Activity是以栈的形式管理的,当前活动的Activity位于栈顶,其他的Activity则处于非活动状态.        Activiy生