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

相關文章
相關標籤/搜索