Android学习笔记(三)

在手机应用中菜单是很重要的一部分,它能够以直观的界面让用户去选择,现在我们学习如何去新建一个菜单。

首先在res目录下新建一个menu文件夹,然后在menu文件夹下新建一个Android XML File文件并命名为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="@string/app_add" />

        

    <item android:id="@+id/remove_item"

 android:title="@string/app_remove" />



</menu>

代码中的标签<item>就是用来创建具体的某一个菜单项,然后通过

android:id给菜单项指定一个唯一标识符;

android:title给这个菜单项指定一个名称。

创建完菜单文件后,需要在FirstActivity中,重写onCreateOptionsMenu()方法,代码如下:

//重写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,表示允许创建的菜单显示出来,如果返回false,创建的菜单将无法显示。

 

上面的方法仅仅是让菜单显示出来,我们还需要重写onOptionsItemSelected()方法来使用菜单,下面的代码用来定义菜单响应事件:

//定义菜单响应事件,重写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();

        break;

    default:

        }

    return true;

    }

在onOptionsItemSelected()方法中,通过调用item.getItemId()来判断我们点击的是哪一个菜单项,然后就可以给每个菜单项加入自己的逻辑处理了。我们这里加入的是Toast。

重新运行程序,菜单默认不会显示出来,点击Menu键,就可以得到下图的效果:

Menu

你可能感兴趣的:(Android学习)