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

Post date: 2015/12/8 下午 12:15:10

原作者 http://no2don.blogspot.com/search/label/Xamarin

這幾天做專案,因為很方便,所以簡單紀錄一下,可以讓使用者選擇的東西,感覺很像是下拉式選單但是很方便

看一下畫面:

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); PopupMenu mainMenu = null;

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: