3.17 MonoForAndroid用户人机界面--关于(About)程序信息 Menu功能菜单程序设计

来源:互联网 发布:速算计算器软件 编辑:程序博客网 时间:2024/05/17 05:54
程序里默认重写OnCreate之外,还需要另外重写两个类函数:


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();          }      }}

0 0
原创粉丝点击