程序里默认重写OnCreate之外,还需要另外重写两个类函数:
MainActivity.cs
OnCreateOptionsMenu,OnOptionsItemSelected
前者为创建Menu菜单的项目,后者则是处理菜单被选择运行后的事件处理.
Main.axml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@drawable/white"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/Hello" />
</LinearLayout>
MainActivity.cs
using System;
using Android.App;
using Android.Content;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS;
//
using Android.Views;
namespace Ex03_17
{
[Activity(Label = "Ex03_17", MainLauncher = true, Icon = "@drawable/icon")]
public class MainActivity : Activity
{
int count = 1;
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
// Set our view from the "main" layout resource
SetContentView(Resource.Layout.Main);
// Get our button from the layout resource,
// and attach an event to it
//Button button = FindViewById<Button>(Resource.Id.MyButton);
//button.Click += delegate { button.Text = string.Format("{0} clicks!", count++); };
}
public override bool OnCreateOptionsMenu(IMenu menu)
{
menu.Add(0, 0, 0, Resource.String.app_about);
menu.Add(0, 1, 1, Resource.String.str_exit);
return base.OnCreateOptionsMenu(menu);
}
public override bool OnOptionsItemSelected(IMenuItem item)
{
base.OnOptionsItemSelected(item);
switch (item.ItemId)
{
case 0:
openOptionsDialog();
break;
case 1:
Finish();
break;
}
return true;
}
private void openOptionsDialog()
{
new AlertDialog.Builder(this)
.SetTitle(Resource.String.app_about)
.SetMessage(Resource.String.app_about_msg)
.SetPositiveButton(Resource.String.str_ok, handllerNotingButton)
.Show();
}
void handllerNotingButton(object sender, DialogClickEventArgs e)
{
AlertDialog objAlertDialog = sender as AlertDialog;
Button btnClicked = objAlertDialog.GetButton(e.Which);
Toast.MakeText(this, "you clicked on " + btnClicked.Text, ToastLength.Long).Show();
}
}
}