Android之OptionMenu

Menu基本使用步骤:
1、创建Menu
2、对菜单项进行相应的操作
【注意】菜单顶多允许还有一级子菜单
一、创建Menu:
1、在res文件夹中新建文件夹menu;
2、在menu文件夹中新建menu.xml(文件名随意),文件内容如下,item就是menu菜单中的条目;

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

    <item android:title="保存"
        app:showAsAction="always"/>

    <item android:title="设置"/>

    <item android:title="更多操作" >
        <menu >
            <item android:title="子菜单2" />
            <item android:title="子菜单3" />
            <item android:title="子菜单1" />
        </menu>
    </item>
    
</menu>

3、创建menu,在MainActivity中添加如下代码:

	//创建OptionsMenu
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        //将菜单资源加载到当前的菜单中
        getMenuInflater().inflate(R.menu.option,menu);
        return true;
    }

二、对菜单项进行相应的操作:
1、修改xml,增加id属性(方便在代码中进行操作)

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
 <item android:title="保存"
         **android:id="@+id/save"**
         android:icon="@mipmap/ic_launcher"
         app:showAsAction="always"/>

        <item android:title="设置"
            **android:id="@+id/setting"**/>

        <item android:title="更多操作" >
            <menu >
                <item android:title="退出"
                    **android:id="@+id/exit"**/>
                <item android:title="子菜单2" />
                <item android:title="子菜单3" />
            </menu>
        </item>
</item>

2、在MainActivity中添加onOptionItemSelected代码:在其中完成对菜单项的操作

//OptionsMenu菜单项的选中方法
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {

        switch (item.getItemId()){
            case R.id.save:
                Toast.makeText(this,"保存",Toast.LENGTH_SHORT).show();
                break;
            case R.id.setting:
                Toast.makeText(this,"设置",Toast.LENGTH_SHORT).show();
                break;
            case R.id.exit:
                finish();
                break;
        }
        return super.onOptionsItemSelected(item);
    }
发布了34 篇原创文章 · 获赞 5 · 访问量 7496

猜你喜欢

转载自blog.csdn.net/qq_39438055/article/details/104102166