实现带子菜单的选项菜单(学习笔记)

来源:互联网 发布:linux启动网卡命令 编辑:程序博客网 时间:2024/04/29 23:38

在res目录下创建menu目录,目录下并创建optionmenu.xml

<?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk/res/android">    <item        android:id="@+id/item1"        android:alphabeticShortcut="g"        android:title="更换背景"></item>    <item        android:id="@+id/item2"        android:alphabeticShortcut="e"        android:title="参数设置">        <menu>            <group android:id="@+id/setting" android:checkableBehavior="all">                <item android:id="@+id/sound" android:title="使用背景"></item>                <item android:id="@+id/video" android:title="背景音乐"></item>            </group>        </menu>    </item><item android:id="@+id/item3" android:title="恢复默认" android:alphabeticShortcut="r"></item></menu>


MainActivity

import android.app.Activity;import android.os.Bundle;import android.view.Menu;import android.view.MenuInflater;import android.view.MenuItem;import android.widget.Toast;public class MainActivity extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);    }    @Override    public boolean onCreateOptionsMenu(Menu menu) {        MenuInflater inflater = new MenuInflater(this);        inflater.inflate(R.menu.optionmenu, menu);        return super.onCreateOptionsMenu(menu);    }    @Override    public boolean onOptionsItemSelected(MenuItem item) {        if (item.getGroupId() == R.id.setting) {            if (item.isChecked()) {                item.setChecked(false);            } else {                item.setChecked(true);            }        }        if (item.getItemId() != R.id.item2) {            Toast.makeText(this, item.getTitle(), Toast.LENGTH_SHORT).show();        }        return super.onOptionsItemSelected(item);    }}



0 0
原创粉丝点击