public CustomAlertDialog(Context context) : base(context) { // Вместо "?android:attr/dialogPreferredPadding" в customDialogLayout.axml для уровней API ниже 22. _preferredPadding = Build.VERSION.SdkInt < BuildVersionCodes.LollipopMr1 ? Context.Resources.GetDimensionPixelSize(Resource.Dimension.dialogPreferredPaddingApiLess22) : UiUtilities.GetAttributeValuePixelSize(Context, Resource.Attribute.dialogPreferredPadding); ShowEvent += (s, e) => { WindowManagerLayoutParams layoutParameters = new WindowManagerLayoutParams(); layoutParameters.CopyFrom(Window.Attributes); IWindowManager windowManager = (context as AppCompatActivity).WindowManager; (Int32 width, Int32 height) = UiUtilities.GetScreenPixelSize(windowManager); Int32 maxDialogHeight = (Int32)(height * 0.9); if (Window.DecorView.Height > maxDialogHeight) { layoutParameters.Height = maxDialogHeight; } Window.Attributes = layoutParameters; }; _layout = View.Inflate(Context, Resource.Layout.customDialogLayout, null) as ViewGroup; _layout.SetPadding(_preferredPadding, _preferredPadding, _preferredPadding, _preferredPadding); SetView(_layout); }
private void ShowLayoutMessage(Java.Lang.ICharSequence message, Boolean enableLinks = true) { _contentLayout.RemoveAllViews(); View layout = View.Inflate(this, Resource.Layout.message, _contentLayout); TextView textView = layout.FindViewById <TextView>(Resource.Id.messageTextView); if (enableLinks) { textView.MovementMethod = LinkMovementMethod.Instance; textView.TextFormatted = message.StripUrlUnderlines(); } else { textView.TextFormatted = message; } textView.TextFormatted = textView.TextFormatted.Trim(); textView.SetMaxWidth((Int32)(UiUtilities.GetScreenPixelSize(WindowManager).width * 0.9)); }