Mono for Android Dialog 对话框

简洁弹出方式:

Toast.MakeText(mContext, "Hello", ToastLength.Short).Show(); 

 

使用.net开发安卓,以下是  AlertDialog与ProgressDialog的使用

#region AlertDialog

        public static void AlertDialog(Context ctx, string title, string msg)
        {
            AlertDialog.Builder ad = new AlertDialog.Builder(ctx);
            ad.SetTitle(title);
            //ad.SetTitle(Android.Resource.String.DialogAlertTitle);
            ad.SetMessage(msg);
            ad.SetIcon(Android.Resource.Drawable.IcDialogInfo);

            EditText inputServer = new EditText(ctx);
            ad.SetView(inputServer);

            ad.SetPositiveButton("OK", (sender, e) =>
            {
                ad.Dispose();
            });
            ad.SetNegativeButton("NO", (sender, e) =>
            {
                ad.Dispose();
            });
            ad.SetCancelable(true);

            ad.Show();
        }

        /// <summary>
        /// CustomDialog
        /// </summary>
        public void AlertDialogWithEditText(Context ctx)
        {
            AlertDialog.Builder ad = new AlertDialog.Builder(ctx);
            ad.SetTitle(" ");
            ad.SetMessage("Please enter password.");
            ad.SetIcon(Android.Resource.Drawable.IcDialogInfo);

            EditText inputServer = new EditText(ctx);
            inputServer.InputType = Android.Text.InputTypes.TextVariationPassword;
            ad.SetView(inputServer);

            ad.SetPositiveButton("OK", (sender, e) =>
            {
                ad.Dispose();
            });

            ad.SetNegativeButton("Cancel", (sender, e) =>
            {
                ad.Dispose();
            });

            ad.SetCancelable(true);
            ad.Show();
        }

        #endregion

        #region ProgressDialog

        //滚动轮
        public static void SpinnerProgressDialog(Context ctx, string title, string message)
        {
            // ProgressDialog pd = ProgressDialog.Show(ctx, new Java.Lang.String(title.ToString()), new Java.Lang.String(message.ToString()), true);
            ProgressDialog pd = new ProgressDialog(ctx);
            pd.SetTitle(title);
            pd.SetMessage(message);

            //滚动进度在此设置不起作用
            pd.SetProgressStyle(ProgressDialogStyle.Spinner);
            pd.SetIcon(Android.Resource.Drawable.ButtonDefault);
            pd.Show();
        }

        //横向滚动条
        public static void HorizontalProgressDialog(Context ctx, string title, string message)
        {
            ProgressDialog pd = new ProgressDialog(ctx);
            pd.SetTitle("");
            pd.SetMessage("loading");
            pd.SetIcon(Android.Resource.Drawable.ButtonDefault);

            //设置滚动进度
   pd.IncrementProgressBy(50);
            pd.SetProgressStyle(ProgressDialogStyle.Horizontal);
            pd.Show();
        }

        #endregion

posted @ 2012-10-17 17:27  静艳  阅读(604)  评论(0编辑  收藏  举报