精华内容
下载资源
问答
  • 前言:看《第一行代码》“活动中使用Menu”的时候,发现书上所写的方法和现实Android Studio上有些许出入,想写一篇博客来记录一下。 虽然现在的智能手机都往大屏方向发展,但还是屏幕空间非常有限,活动中...

    前言:在看《第一行代码》“在活动中使用Menu”的时候,发现书上所写的方法和现实Android Studio上有些许出入,想写一篇博客来记录一下。

    虽然现在的智能手机都在往大屏方向发展,但还是屏幕空间非常有限,在活动中使用菜单,能够很好地解决屏幕空间有限的问题。

    1.在res目录下新建一个menu文件夹:右键res → New → Android Resource Directory,如下图:
    在这里插入图片描述
    2.将Directory name 和 Resource type 均改为menu,Source set 为main,并确定,如下图:

    在这里插入图片描述
    这时你会发现res目录下已经多了一个menu文件夹。

    3.右键menu → New → Menu resource file,并命名为main,如下图:
    在这里插入图片描述
    在这里插入图片描述
    4.在main.xml文件中设置菜单项item,例如“增添”、“移除”。

    <menu xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:android="http://schemas.android.com/apk/res/android">
    
        <item
            android:id="@+id/add_item"
            android:title="增添"/>
    
        <item
            android:id="@+id/remove_item"
            android:title="移除"/>
    
    </menu>

    5.返回MainActivity重写onCreateOptionsMenu()方法

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {//得到MenuInflater对象并调用inflate方法创建菜单
        getMenuInflater().inflate(R.menu.main,menu);
        return true;
    }

    6.接下来为创建的菜单定义菜单响应事件,继续重写onOptionsItemSelected()方法

    @Override
    public boolean onOptionsItemSelected(@NonNull MenuItem item) {
        switch (item.getItemId()){
            case R.id.add_item:
                Toast.makeText(this, "增添", Toast.LENGTH_SHORT).show();
                break;
            case R.id.remove_item:
                Toast.makeText(this, "移除", Toast.LENGTH_SHORT).show();
                break;
                default:
                    break;
        }
        return true;
    }

    在模拟器上运行一下,可以在右上角看到三个小点,就是菜单啦:
    在这里插入图片描述

    展开全文
  • Android中menu使用详解

    2021-01-05 12:57:51
    Menu(菜单)是Android中一定会使用的模块,每个Android项目都会用到Menu来给用户起到选择和导航的作用,提升用户体验,下面通过本文给大家分享android 中menu使用,需要的朋友一起看看吧 很多activity界面中都存在...
  • Android提供一种隐藏式的菜单栏,不占用显示空间又能实现菜单功能。 一、菜单显示 ...该文件添加菜单代码: <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item...

    Android提供一种隐藏式的菜单栏,不占用显示空间又能实现菜单功能。

    一、菜单显示

    首先在res目录下创建一个menu目录,在menu目录下新建一个菜单文件(menu resource file)。

    在该文件中添加菜单代码:

    <menu xmlns:android="http://schemas.android.com/apk/res/android">
     
        <item
            android:id="@+id/add_item"
            android:title="Add" />
     
        <item
            android:id="@+id/del_item"
            android:title="Del" />
     
    </menu>
    复制代码

    这里创建两个菜单选项,item标签就是用来创建一个具体的菜单项,id是唯一标识符,title是名称。

    然后在Activity中重写onCreateOptionsMenu()方法。(快捷键:Ctrl +O、Mac:control +O)

    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.main,menu);
        return super.onCreateOptionsMenu(menu);
    }
    复制代码

    getMenuInflater()方法能够获得MenuInflater对象,再调用inflate()方法就可以给当前活动创建菜单了。inflate()第一个参数指定用哪一个资源文件创建菜单,第二个参数指定菜单项将添加到哪一个Menu对象中,这里直接使用onCreateOptionsMenu()方法中的menu参数。然后返回值。要是返回 false,创建的菜单无法显示。

    二、菜单响应

    重写onOptionsItemSelected()方法:

        public boolean onOptionsItemSelected(MenuItem item) {
            switch (item.getItemId()){
                case R.id.add_item:
                    Toast.makeText(MainActivity.this,"add Menu!",Toast.LENGTH_SHORT).show();
                    break;
                case R.id.del_item:
                    Toast.makeText(MainActivity.this,"del Menu!",Toast.LENGTH_SHORT).show();
                    break;
            }
            return super.onOptionsItemSelected(item);
        }
    复制代码

    这里就是给菜单添加逻辑处理,通过item.getItemId()判断点击哪一个菜单选项,然后执行相应的功能。

    转载于:https://juejin.im/post/5cdbc635e51d45475e613e73

    展开全文
  • 为了实现第一个参数,我们需要res目录新建一个menu文件夹,在menu文件夹建立一个名为main的菜单文件。 main.xml文件可以这样写: <menu xmlns:android=...

    初学Android时,使用的是Android eclipse。一直没有注意到onCreateOptionsMenu()的用法。现在做个笔记来加深印象。


    public boolean onCreateOptionsMenu(Menu menu){

    getMenuInflater().inflate(R.menu.main, menu);

    return true;

    }

    这个方法:

    通过getMenuInflater()方法能够得到MenuInflater()对象,再调用它的inflate()方法就可以给当前活动创建菜单了。

    inflate()方法接收两个参数,第一个参数用于指定我们通过哪一个资源文件来创建菜单,这里传入的是R.menu.main。第二个参数用于指定,我们的菜单项将添加到哪一个Menu对象中,这里直接使用的是onCreateOptionsMenu()这个方法中的参数menu。最后返回true,表示允许创建的菜单显示出来。

    为了实现第一个参数,我们需要在res目录中新建一个menu文件夹,在menu文件夹建立一个名为main的菜单文件。

    在main.xml文件中可以这样写:

    <?xml version="1.0" encoding="utf-8"?>
    <menu xmlns:android="http://schemas.android.com/apk/res/android">


        <item android:id="@+id/add_item"
            android:title="Add"/>
        <item android:id="@+id/remove_item"
            android:title="Remove"/>
        <item android:id="@+id/delete_item"
            android:title="Delete"/>
        <item android:id="@+id/cancle_item"
            android:title="Cancle"/>


    </menu>


    <item />中是要添加的菜单项。

    当然为了使菜单有用,我们还应该在活动中重写onOptionsItemSelected()这个方法。

    如下所示:

    public boolean onOptionsItemSelected(MenuItem item){
            switch(item.getItemId()){
                case R.id.add_item:
                    Toast.makeText(this, "You clicked Add", Toast.LENGTH_SHORT).show();
                    break;
                case R.id.remove_item:
                    Toast.makeText(this, "You clicked Remove", Toast.LENGTH_LONG).show();
                    break;
                case R.id.delete_item:
                    Toast.makeText(this, "You clicked Delete", Toast.LENGTH_LONG).show();
                    break;
                case R.id.cancle_item:
                    Toast.makeText(this, "You clicked Cancle", Toast.LENGTH_SHORT).show();
                    break;
                default:
            }
            return true;
        }










    展开全文
  • Android活动中使用Menu   res的目录下创建一个menu文件夹 menu文件夹下新建一个Android XML File文件   加入如下代码: android:id = "@+id/add_item" android:title="Add"/> android:id=...

    Android之在活动中使用Menu

     

    res的目录下创建一个menu文件夹 在menu文件夹下新建一个Android XML File文件

     

    加入如下代码:

    <item
    	    android:id = "@+id/add_item"
    	    android:title="Add"/>
    	<item
    	    android:id="@+id/remove_item"
    	    android:title="Remove"/>

    <item>标签是用来创建菜单项的

    Androidid给菜单项指定一个唯一标识符

    Androidtitle给菜单项指定一个名字

     

    然后重写onCreateOptionsMenu()方法

    public boolean onCreateOptionsMenu(Menu menu) {
    		// TODO Auto-generated method stub
    		getMenuInflater().inflate(R.menu.main, menu);
    		return true;
    	}

    (1)getMenuInflater()方法可以得到MenuInflater对象

    (2)调用inflate()方法就可以创建菜单了  

    第一个参数指定通过哪一个资源文件创建菜单 就传入上面我们创建的 XML File文件

    比如R.menu.main

    第二个参数传入Menu对象 直接传入形参menu即可

    (3)返回true即可显示

     

    定义了菜单还不行 还需要定义菜单响应事件 重写onOptionsItemSelected()方法

    public boolean onOptionsItemSelected(MenuItem item){
    		switch (item.getItemId()) {
    		case R.id.add_item:
    			Toast.makeText(this, "You clicked Add", Toast.LENGTH_SHORT).show();
    			break;
    		case R.id.remove_item:
    			Toast.makeText(this, "You clicked Remove", Toast.LENGTH_SHORT).show();
    		default:
    			break;
    		}
    		return true;
    	}
    

    这样便实现了菜单功能。

     

    扩展:Activity类提供了一个finish()方法 调用即可销毁当前的活动了。和BACK键的功能是一样的。




    展开全文
  • 在Android中,给我们提供了一种既可以展示菜单又不占用屏幕空间的方式。那就是在活动中使用Menu. 我们首先在res目录下新建一个menu文件夹(res->New->Directory,文件夹命名为menu),然后在这个文件夹下新建一...
  • 1.res下选择new 选择Android resource directory 2.弹出框Resource type选择menu 3.res下就可以看到menu文件夹 4.在menu文件夹下右键new 选择Menu resource file 5.输入文件名字,就可以了 ...
  • 手机屏幕非常有限,因此要充分利用屏幕空间。... res目录下新建 Menu 文件夹,文件夹下再建一个叫 main的菜单文件。.  2. main.xml添加如下代码:  1 <?xml version="1.0" encoding="utf-8"...
  • 一、 使用xml定义Menu ...标签没有任何属性,但可以嵌套标签,表示子菜单的形式。不过标签不能再嵌入标签。 1.标签的属性含义如下: Id:表示菜单项的资源ID menuCategory:同种菜单项的种类。该属性可取
  • Android中menu使用

    2017-10-19 15:13:45
    很多activity界面中都存在一个菜单栏,就是点击右上角的一个按钮的时候会出现一个下拉列表差不多的东西,这个功能的实现其实只需要下面的两步,每一个activity都...①res下的menu中创建file_menu.xml: <menu xmln
  • Android提供一种隐藏式的菜单栏,不占用显示空间又能实现菜单功能。 一、菜单显示 首先 res目录下创建一个menu...该文件添加菜单代码: <menu xmlns:android="http://schemas.android.com/apk/res/...
  • res目录下新建menu 新建main菜单文件 main.xml中用  />添加菜单项,用android:id给菜单项指定唯一标识符。 Activity重写onCreateOptionsMenu()方法,通过getMenuIflater()方法得到...
  • ADTHelloWorldActivity自动创建了一个onCreateOptionsMenu()方法。这个方法是用于活动创建菜单的,现在我们来仔细分析一下了。 手机毕竟和电脑不同,它的屏幕空间非常有限,因此充分地利用屏幕空间手机...
  • 我认为menu用起来简洁方便,特别是一些大一点的程序我们早就厌烦了一遍遍的加button,设置了菜单可谓是事半功倍,简单省事。<1>先声明定义下你的menu:private static final int menu1 = 1;……<2>...
  • res下创建menu文件夹,创建main.xml文件,并添加Item      android:id="@+id/item_add"  android:title="添加"/>    android:id="@+id/item_remove"  android:title="移除"/>
  • res目录下右键选择android ...然后类型选menu创建两个菜单项,有各自的名称和id android:id="@+id/add_item" android:title="Add"/> android:id="@+id/remove_item" android:title="Remove"/>给当前activity
  • res目录下右键选择android resource file ...然后类型选menu 创建两个菜单项,有各自的名称和id <item android:id="@+id/add_item" android:title="Add"/> <item android:id="@+id/remove_item" an...
  • Android Studio 使用Menu

    2018-12-25 16:32:00
    首先res目录下创建一个文件夹名字随意 对创建的文件夹下创建一个菜单 ...参看布局可以看到你的菜单可以选择添加是么样的菜单 ... public boolean onCreateOptionsMenu(Menu menu) { ...
  • androidMenu使用 转自:thinkYeah的博客 1。普通的Menu  先来看看最简单的Menu怎样实现。  主Activity覆盖onCreateOptionsMenu(Menu menu)方法。 代码 @Override public boolean ...
  • 直接studiomenu文件夹的item添加showasaction会报这样的错误 解决的方式: 添加 xmlns:app="http://schemas.android.com/apk/res-auto" 解决!!
  • 在Android中,我们在使用Activity的时候,一样可以使用menu菜单,menu菜单的使用一般会涉及到重载Activity下的onCreateOptionsMenu和onOptionsItemSelected这两个方法,具体怎么使用,我们看下面的示例。 动作一: ...
  • 最近研究关于MaterialDesign系类的内容,研究Toolbar和NavigationView的时候,都使用menu的内容。感觉自己不是很理解,可以说就是不知道,只会简单的写一个menu其他的什么都不会了。所以总结一下,希望对大家...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,191
精华内容 476
关键字:

在android中使用menu