Android Studio Menu item 的简单使用

关于Menu的简单使用,大致概括为Menu的创建,和Item的监听事件。

目录

1.Item的创建

菜单的响应事件

1.Item的创建

首先我们打开Android Studio新建一个项目。

Android Studio Menu item 的简单使用_第1张图片

 选择一个Empty Activity,完成点击next。Android Studio Menu item 的简单使用_第2张图片

输入项目名点击Finish。

Android Studio Menu item 的简单使用_第3张图片

切换为项目工程

Android Studio Menu item 的简单使用_第4张图片

 Android Studio Menu item 的简单使用_第5张图片

 Android Studio Menu item 的简单使用_第6张图片

点击ok,再鼠标右击,新建一个Resource File 点击ok

Android Studio Menu item 的简单使用_第7张图片

 创建完成之后我们打开刚刚新建的 main 去写item标签。

这里我们创建两个 item 标签,先不管其内容。 

Android Studio Menu item 的简单使用_第8张图片

这个时候你点击运行模拟器,但是你会发现在 Test 这个活动中并没有出现图中所示的菜单栏。Android Studio Menu item 的简单使用_第9张图片当然这上面只是教你如何创建,想要在活动中显示出来,需要回到 MainActivity 里面重写 onCreateOptionsMenu() 方法, 重写方法可以使用 Ctrl + o 快捷键(Mac 系统是 control+ o)如下图

Android Studio Menu item 的简单使用_第10张图片

 在onCreateOptionsMenu()中输入以下代码

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

通过 getMenuInflater() 方法能够得到 MenuInflater 对象,再调用它的 inflate() 方法就可以给当前活动创建菜单了。inflate() 方法接受两个参数,第一个参数用于指定我们通过哪一个资源文件来创建菜单,这里当然传入 R.menu.main。 第二个参数用于指定我们的菜单项将添加到哪一个 menu 对象当中,这里直接使用 onCreateOptionsMenu() 方法传入的 menu 参数。然后这个方法返回 true ,表示允许创建的菜单显示出来, 如果返回了 false, 创建的菜单将无法显示。

这个时候再点击运行在 Mian 活动界面就会出现菜单栏

Android Studio Menu item 的简单使用_第11张图片

菜单的响应事件

 这个时候我们先再建一个活动

Android Studio Menu item 的简单使用_第12张图片

Android Studio Menu item 的简单使用_第13张图片

 为了区分这两个活动,给这两个活动加上 TextView 。

下面定义菜单的响应事件。在 MainActivity 中重写 onOptionsItemSelected() 方法

public boolean onOptionsItemSelected(MenuItem item)
    {
        Intent intent = null;
        switch (item.getItemId())
        {
            case R.id.First_item:
                Toast.makeText(this,"You clicked first item",Toast.LENGTH_SHORT).show();
                break;
            case R.id.Sce_item:
                intent = new Intent(MainActivity.this, FirstActivity.class);
                Toast.makeText(this,"You clicked second item",Toast.LENGTH_SHORT).show();
                break;
            default:
        }
        startActivity(intent);
        return true;
    }

这个时候我们在点击运行模拟器,貌似第一个 item 出了一点小问题,我们点击第二个按钮,我们就会到 First 活动里面了 。

Android Studio Menu item 的简单使用_第14张图片

Android Studio Menu item 的简单使用_第15张图片当然,你要是想在 First 活动中添加菜单,你需要把对应的代码加入到 FirstActivity 里面。

最后我们来解决那个第一个 item 点击出现闪退的问题,先放下对应的代码图片。

Android Studio Menu item 的简单使用_第16张图片

可以看到,在 switch case 里面我们有两个语句,这两个语句,只有一个用到了  intent  语句,但是在 switch case 执行之后,我们都执行了 startActivity(intent) ,但是对于第一种情况,当你给First_item 的响应时间并没有涉及到 intent 。所以代码改成以下代码。

public boolean onOptionsItemSelected(MenuItem item)
    {
        Intent intent = null;
        boolean flag = true;
        switch (item.getItemId())
        {
            case R.id.First_item:
                Toast.makeText(this,"You clicked first item",Toast.LENGTH_SHORT).show();
                flag = false;
                break;
            case R.id.Sce_item:
                intent = new Intent(MainActivity.this, FirstActivity.class);
                Toast.makeText(this,"You clicked second item",Toast.LENGTH_SHORT).show();
                break;
            default:
        }
        if(flag)
        {
            startActivity(intent);
            flag = false;
        }
        return true;
    }

这个时候,我们再点击运行。结果如下:

Android Studio Menu item 的简单使用_第17张图片

Android Studio Menu item 的简单使用_第18张图片

 

文章部分来自 《第一行代码》 第  2 版   郭 霖   著 本文只是将在写app时遇到的一点小问题,同书上的内容结合以下,想要学习 Andriod 开发这里极力推荐《一行代码》。由于本人目前是一名大二的蒟蒻学生,所以如有出错或不当请多多包涵,多多指教。

 

你可能感兴趣的:(android的开发学习记录,android,studio,android,android-studio)