android中popmenu简单记录(11)

// 如下这个是PopupMenu菜单,只是这里是经过按钮弹出来,
	// 要在res/文件夹下建立一个menu文件夹,再在里面建立一个布局文件
	// popMenu菜单事件,我这里是经过按钮显示菜单
	public void popMenu(View view) {
		// PopupMenu(context, anchor)参数:上下文、当前点击的对象即view,button
		PopupMenu popupMenu = new PopupMenu(this, view);
		getMenuInflater().inflate(R.menu.menu, popupMenu.getMenu());
		// 设置事件
		popupMenu.setOnMenuItemClickListener(new OnMenuItemClickListener() {

			@Override
			public boolean onMenuItemClick(MenuItem item) {
				switch (item.getItemId()) {
				case R.id.menu_setting:
					Toast.makeText(MainActivity.this, "用户设置",
							Toast.LENGTH_SHORT).show();
					break;
				case R.id.menu_exit:
					Toast.makeText(MainActivity.this, "用户退出",
							Toast.LENGTH_SHORT).show();
					break;

				}
				return false;
			}
		});
		popupMenu.show();
	}
	//PopupMenu菜单的文件夹res/menu下的布局文件
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <!-- orderInCategory="1" 决定菜单选项排序 -->
    <!-- showAsAction="always"在顶部显示菜单键 -->
    <item
        android:id="@+id/menu_setting"
        android:orderInCategory="2"
        android:title="设置">
    </item>
    <item
        android:id="@+id/menu_exit"
        android:orderInCategory="3"
        android:title="退出">
    </item>
    <!-- 二级普通菜单: -->

    <item
        android:id="@+id/menu_color"
        android:orderInCategory="1"
        android:title="颜色设置">
        <menu>
            <group>
                <item
                    android:id="@+id/font_red"
                    android:title="red"/>
                <item
                    android:id="@+id/font_blue"
                    android:title="blue"/>
                <item
                    android:id="@+id/font_green"
                    android:title="green"/>
                <item
                    android:id="@+id/font_yellow"
                    android:title="yellowed">
                </item>
            </group>
        </menu>
    </item>
    <!-- 二级可选项菜单: -->
    <item
        android:id="@+id/menu_font"
        android:orderInCategory="1"
        android:title="字体设置">

        <!-- checkableBehavior  属性有三个可选值: all 为多选, single 为单选, none 为不可选。为 none 时就是一个普通菜单 -->
        <menu>
            <group android:checkableBehavior="single" >
                <item
                    android:id="@+id/font_20"
                    android:title="20sp"/>
                <item
                    android:id="@+id/font_30"
                    android:title="30sp"/>
                <item
                    android:id="@+id/font_40"
                    android:title="40sp"/>
                <item
                    android:id="@+id/font_50"
                    android:title="50sp">
                </item>
            </group>
        </menu>
    </item>

</menu>

效果图:java

相关文章
相关标签/搜索