[Xamarin] 在Android 中使用 PopupMenu 做選單

2015-08-12

這幾天做專案,因為很方便,所以簡單紀錄一下,可以讓使用者選擇的東西,感覺很像是下拉式選單但是很方便
看一下畫面:
Screenshot_2015-08-12-12-02-41
簡單的說,一個按鈕按下去之後就會跳出PopMenu並且是用程式動態加入選項
Layout xml Code:


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <Button
        android:id="@+id/btnChoose"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="選擇項目" />
</LinearLayout>

接下來的我寫在註解裡面
C# Code :


Button btnChoose = FindViewById<Button>(Resource.Id.btnChoose);
 
btnChoose.Click += delegate
{
    //如果是null的話進行init
    if (mainMenu == null)
    {
        //設定附身在哪一個物件上面
        mainMenu = new PopupMenu(this, FindViewById<Button>(Resource.Id.btnChoose));
        mainMenu.Menu.Add("芒果");
        mainMenu.Menu.Add("西瓜");
        mainMenu.Menu.Add("荔枝");
 
        //設定項目點擊後的處理
        mainMenu.MenuItemClick += (s1, arg1) =>
        {
            //將按鈕文字換成點選的內容
            btnChoose.Text = arg1.Item.TitleFormatted.ToString();
        };
    }
    mainMenu.Show();
 
 
};

這裡面因為我sample  是用button ,如果你用TextView 會更像是Dropdownlist 的操作
結果:
Screenshot_2015-08-12-12-02-38
Screenshot_2015-08-12-12-02-49
Screenshot_2015-08-12-12-02-43

Source code:


當麻許的超技八 2014 | Donma Hsu Design.