Android中menu的基本用法

Android中menu的基本用法


menu在android中是一个应用中较常用的一个功能点,且android出来的时候menu就出来了, 那么为什么笔者还要再写一篇关于menu的博客呢?

笔者发现,很多初学android的程序员,menu是个非常熟悉但又陌生的控件。  (因为menu几乎没有老师会讲......
此导致了很多程序员不会使用menu,还有人问我menu的配置文件也已经设置好了,为什么单击了menu功能键没有显示的问题。

这次笔者讲解一个关于配置文件使用的menu还有如何把menu给显示出来。。。


最终效果图 



可以看出这就是一个非常简单的把menu给显示出来并且监听一下每个item选择后的功能!


整体的操作过程:
1、定义menu需要的xml文件
2、实现该menu对应的activity的onCreateOptionsMenu和onOptionsItemsSelected方法
3、部署运行。。。


可以看出非常的简单。
下图为项目结构:


1、定义menu需要的xml文件

先把代码贴出来
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context=".MainActivity">

    <item
        android:id="@+id/action_linearlayout"
        android:orderInCategory="100"
        android:title="action_linearlayout"
        app:showAsAction="never" />

    <item
        android:id="@+id/action_gridlayout"
        android:orderInCategory="100"
        android:title="action_gridlayout"
        app:showAsAction="never" />

    <item
        android:id="@+id/action_hor_gridlayout"
        android:orderInCategory="100"
        android:title="action_hor_gridlayout"
        app:showAsAction="never" />
    <item
        android:id="@+id/action_waterfall_gridlayout"
        android:orderInCategory="100"
        android:title="action_waterfall_gridlayout"
        app:showAsAction="never" />

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


</menu>
每一个Item都是对应的一个menu效果的item标签,在item中,应该要实现的属性:
id::在 onOptionsitemsSelected方法中,可以根据不同的item进行不同的功能实现
title:在效果图中显示item的名称。
其他的属性就随你便了。。。


2、实现onCreateOptionsMenu方法

现在就要把你定义的menu给显示在屏幕上,这一步初学者可认真看下

@Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }
第一行代码表示显示指定的xml布局文件。 跟你的activity一样。
返回结果代表是否显示在你的window上。

  3、实现onOptionsItemsSelected方法。

@Override
    public boolean onOptionsItemSelected(MenuItem item) {
        int id = item.getItemId();

        switch (id) {
            case R.id.action_linearlayout:
<span style="white-space:pre">		</span>// 此处放置功能代码
                break;
            case R.id.action_gridlayout:
<pre name="code" class="java"><span>		</span>// 此处放置功能代码
break; case R.id.action_hor_gridlayout:
<span>		</span>// 此处放置功能代码
break; case R.id.action_waterfall_gridlayout:
<span>		</span>// 此处放置功能代码
break; default: break; } return super.onOptionsItemSelected(item); }
 
 
整体的menu操作流程就搞定了。  本篇博客主要就是让你们定义的menu显示在界面上!!!(望初学android者特记。。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值