protected override void ShowDialog(Bundle state)
        {
            MaterialDialog.Builder mBuilder = (new MaterialDialog.Builder(Context)).SetTitle(DialogTitle).SetIcon(DialogIcon).SetPositiveText(PositiveButtonText).SetNegativeText(NegativeButtonText).SetCallback(callback).SetContent(DialogMessage);

            View layout = LayoutInflater.From(Context).Inflate(Resource.Layout.md_stub_input, null);

            OnBindDialogView(layout);

            if (Build.VERSION.SdkInt < BuildVersionCodes.Lollipop)
            {
                EditText.Background.SetColorFilter(mColor, PorterDuff.Mode.SrcAtop);
            }

            TextView message = (TextView)layout.FindViewById(Android.Resource.Id.Message);

            if (DialogMessage != null && DialogMessage.ToString().Length > 0)
            {
                message.Visibility = ViewStates.Visible;
                message.Text       = DialogMessage;
            }
            else
            {
                message.Visibility = ViewStates.Gone;
            }
            mBuilder.SetCustomView(layout, false);

            MaterialDialog mDialog = mBuilder.Build();

            if (state != null)
            {
                mDialog.OnRestoreInstanceState(state);
            }
            RequestInputMethod(mDialog);

            mDialog.SetOnDismissListener(this);
            mDialog.Show();
        }