Android--菜单--Menu

来源:互联网 发布:linux 拷贝vi 编辑:程序博客网 时间:2024/05/16 19:29

这里写图片描述
需求:
当点击右侧的Menu时在底部出现如图所示
这里写图片描述
当长按上面的选项菜单时会在中间也出现刚才那样的图片

先写点击Menu的情况
首先先看一下涉及的知识点

1 区分Menu与MenuItemmunu就是刚才那个添加删除那张图的框,而MenuItem就是框中的每一行(举例就是上面的添加行和删除行)2 Activity:OnCreateOptionsMenu(Menu menu)显示OptionMenu的回调方法,在此方法中向Menu中添加Menultem3 添加menuitem的两种方式:1)纯编码方式:menu.add(...)2)加载menu文件的方式:Menulnflater menulnflater  = getMenulnflater();menumenulnflater.inflate(R.menu.main_option,menu);4 Activity:onOptionsItemSelected(Menulter item)当选择某个菜单项的回调方法注意:用第二种方式时需要首先创建一个xml文件

先用第一种方式

public boolean onCreateOptionsMenu(Menu menu) {        // TODO Auto-generated method stub        menu.add(0, 1,0, "增加");        menu.add(0, 2,0, "删除");        return super.onCreateOptionsMenu(menu);    }

第二种方式
首先创建一个menu.xml

<?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk/res/android" >    <item         android:id="@+id/add"        android:title="添加2"/>    <item         android:id="@+id/delete"        android:title="删除2"/></menu>

接下来重要部分

public boolean onCreateOptionsMenu(Menu menu) {        MenuInflater inflater = getMenuInflater();        inflater.inflate(R.menu.menu, menu);        return super.onCreateOptionsMenu(menu);    }

如果想让点击增加或删除有反应接下来需要调用回调方法

@Override    public boolean onOptionsItemSelected(MenuItem item) {        switch (item.getItemId()) {        case R.id.add:            Toast.makeText(this, "增加", 0).show();            break;        case R.id.delete:            Toast.makeText(this, "删除", 0).show();            break;        default:            break;        }        return super.onOptionsItemSelected(item);    }

上面这个是第二种方式的回调方法,如果想用第一种的回调方法,只需将上面case中的属性值改为上面第一种方法中的add(…)方法中的第二个参数所对应的值即可

ok,长按按钮出现的那种情况,请看下一篇

0 0
原创粉丝点击