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); }
public override void OnAttach(Context context) { base.OnAttach(context); _application = Context.ApplicationContext as SmtuScheduleApplication; if (Activity is ISchedulesViewer viewer) { _schedulesSwitcherCallback = viewer.ShowSchedule; } _dividerColor = new Color(UiUtilities.GetAttributeValue( Context, Resource.Attribute.colorDivider )); _tertiaryTextColor = new Color(UiUtilities.GetAttributeValue( Context, Resource.Attribute.textColorSubjectTertiary )); _secondaryTextColor = new Color(UiUtilities.GetAttributeValue( Context, Resource.Attribute.textColorSubjectSecondary )); _multiGroupsPrefix = Context.GetString(Resource.String.multiGroupSubjectPrefix); }
public CustomAlertDialog(Context context) : base(context) { _layout = View.Inflate(Context, Resource.Layout.customDialog, null); // Вместо android:padding = "?android:attr/dialogPreferredPadding" в customDialog.axml для API < 22. Int32 paddingInPx = Build.VERSION.SdkInt < BuildVersionCodes.LollipopMr1 ? Context.Resources.GetDimensionPixelSize(Resource.Dimension.dialogContentPaddingApiLevelLess22) : UiUtilities.GetAttributePixelSize(Context, Resource.Attribute.dialogPreferredPadding); _layout.SetPadding(paddingInPx, paddingInPx, paddingInPx, _layout.PaddingBottom); SetView(_layout); _content = _layout.FindViewById <FrameLayout>(Resource.Id.customDialogContentFrameLayout); }
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)); }
public void OnPointerEnter(GameObject gbj) { if (!m_enablePreview) { return; } if (ItemUtilities.TryGetSlot(gbj, out m_currentTarget)) { if (!m_currentTarget.IsEmpty) { var popUpPosition = UiUtilities.AnchoredPosition((RectTransform)m_currentTarget.transform, m_previewPopup.RectTransform, m_rectAnchor, m_offset); m_previewPopup.transform.SetAsLastSibling(); m_previewPopup.Show(m_currentTarget, popUpPosition); } } }