- Xamarin 教程
- Xamarin - 首頁
- Xamarin - 安裝
- Xamarin - 第一個應用程式
- Xamarin - 應用程式清單
- Xamarin - Android 資源
- Xamarin - Android 活動生命週期
- Xamarin - 許可權
- Xamarin - 構建應用程式 GUI
- Xamarin - 選單
- Xamarin - 佈局
- Xamarin - Android 小部件
- Xamarin - Android 對話方塊
- Xamarin - 相簿
- Xamarin - Android 檢視
- Xamarin - 多螢幕應用程式
- Xamarin - 部署您的應用程式
- Xamarin 有用資源
- Xamarin - 快速指南
- Xamarin - 有用資源
- Xamarin - 討論
Xamarin - 選單
彈出選單
彈出選單是指附加到檢視上的選單;它也稱為快捷選單。讓我們看看如何向 Android 應用程式新增彈出選單。
建立一個新專案並將其命名為popUpMenu App。開啟Main.axml並建立一個按鈕,該按鈕將用於顯示彈出選單。
<?xml version = "1.0" encoding = "utf-8"?>
<LinearLayout xmlns:android = "http://schemas.android.com/apk/res/android"
android:orientation = "vertical"
android:background = "#d3d3d3"
android:layout_width = "fill_parent"
android:layout_height = "fill_parent">
<Button
android:id = "@+id/popupButton"
android:layout_width = "fill_parent"
android:layout_height = "wrap_content"
android:text = "Show popup menu"
android:background = "@android:color/holo_green_dark"
android:textColor = "@android:color/black" />
</LinearLayout>
在Resources資料夾下建立一個新資料夾,並將其命名為Menu。在 Menu 資料夾中,新增一個名為popMenu.xml的新 xml 檔案。
在popMenu.xml中,新增以下選單項。
<?xml version = "1.0" encoding="utf-8"?>
<menu xmlns:android = "http://schemas.android.com/apk/res/android">
<item
android:id = "@+id/file_settings"
android:icon = "@drawable/img_settings"
android:title = "Settings"
android:showAsAction = "ifRoom">
<item
android:id = "@+id/new_game1"
android:icon = "@drawable/imgNew"
android:title = "New File Settings"/>
<item
android:id = "@+id/help"
android:icon = "@drawable/img_help"
android:title = "Help" />
<item
android:id = "@+id/about_app"
android:icon = "@drawable/img_help"
android:title = "About app"/>
</item>
</menu>
新增選單項後,轉到mainActivity.cs以在單擊按鈕時顯示彈出選單。
protected override void OnCreate(Bundle bundle) {
base.OnCreate(bundle);
SetContentView(Resource.Layout.Main);
Button showPopupMenu = FindViewById<Button>(Resource.Id.popupButton);
showPopupMenu.Click += (s, arg) => {
PopupMenu menu = new PopupMenu(this, showPopupMenu);
menu.Inflate(Resource.Menu.popMenu);
menu.Show();
};
}
現在,構建並執行您的應用程式。它應該產生以下輸出:
選項選單
選項選單是應用程式的主要選單集合,主要用於儲存設定、搜尋等。在這裡,我們將建立一個包含三個專案的設定選單,即新建檔案設定、幫助和關於應用程式。
要建立選項選單,我們必須在資原始檔夾中建立一個新的 XML 佈局檔案。首先,我們將新增一個新的 XML 檔案。右鍵單擊Layout 資料夾,然後轉到新增→新建項→Visual C#→XML 檔案。
為佈局檔案選擇一個合適的名稱。在我們的示例中,我們將我們的檔案命名為myMenu.xml。
在myMenu.xml中,我們將建立一個新選單並在其中新增專案。以下程式碼顯示瞭如何操作。
<?xml version = "1.0" encoding = "utf-8"?>
<menu xmlns:android = "http://schemas.android.com/apk/res/android">
<item
android:id = "@+id/file_settings"
android:icon = "@drawable/img_settings"
android:title = "Settings"
android:showAsAction = "ifRoom">
<menu>
<item
android:id = "@+id/new_game1"
android:icon = "@drawable/imgNew"
android:title = "New File Settings" />
<item
android:id = "@+id/help"
android:icon = "@drawable/img_help"
android:title = "Help" />
<item
android:id = "@+id/about_app"
android:icon = "@drawable/img_help"
android:title = "About app"/>
</menu>
</item>
</menu>
接下來,我們導航到MainActivity.cs併為onOptionsMenu()建立一個覆蓋類。
public override bool OnCreateOptionsMenu(IMenu menu) {
MenuInflater.Inflate(Resource.Menu.myMenu, menu);
return base.OnPrepareOptionsMenu(menu);
}
接下來,我們建立一個操作來響應選擇設定選單時。為此,我們為OnOptionsItemSelected()選單建立另一個覆蓋類。
public override bool OnOptionsItemSelected(IMenuItem item) {
if (item.ItemId == Resource.Id.file_settings) {
// do something here...
return true;
}
return base.OnOptionsItemSelected(item);
}
我們的最終完整程式碼如下:
namespace optionsMenuApp {
[Activity(Label = "options Menu", MainLauncher = true, Icon = "@drawable/icon")]
public class MainActivity : Activity {
public override bool OnCreateOptionsMenu(IMenu menu) {
MenuInflater.Inflate(Resource.Menu.myMenu, menu);
return base.OnPrepareOptionsMenu(menu);
}
public override bool OnOptionsItemSelected(IMenuItem item) {
if (item.ItemId == Resource.Id.file_settings) {
// do something here...
return true;
}
return base.OnOptionsItemSelected(item);
}
}
}
現在,構建並執行您的應用程式。它應該產生以下輸出:
廣告