标签:
在手机应用中菜单是很重要的一部分,它能够以直观的界面让用户去选择,现在我们学习如何去新建一个菜单。
首先在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键,就可以得到下图的效果:
标签:
原文地址:http://www.cnblogs.com/glh199006/p/4242779.html