/// <summary> /// Builds a new layout with the specified parameters. /// </summary> public LayoutBuilder( Java.Lang.ICharSequence textFormatted, TextPaint paint, TextUtils.TruncateAt ellipsize, Android.Text.Layout.Alignment layoutAlignment, JustificationMode isJustifiedText, TextWrapping textWrapping, int maxLines, Size availableSize, bool exactWidth, float lineHeight, LineStackingStrategy lineStackingStrategy, LayoutBuilder existingBuilder ) { _textFormatted = textFormatted; _paint = paint; _ellipsize = ellipsize; _layoutAlignment = layoutAlignment; _justificationMode = isJustifiedText; _textWrapping = textWrapping; _maxLines = maxLines; AvailableSize = availableSize; _exactWidth = exactWidth; _lineHeight = lineHeight; _lineStackingStrategy = lineStackingStrategy; Layout = existingBuilder?.Layout; _metrics = existingBuilder?._metrics; }
private void UpdateLayoutAlignment() { if (_layoutAlignment != null) { return; } switch (TextAlignment) { case TextAlignment.Center: _layoutAlignment = Android.Text.Layout.Alignment.AlignCenter; _justificationMode = JustificationMode.None; break; case TextAlignment.Right: _layoutAlignment = Android.Text.Layout.Alignment.AlignOpposite; _justificationMode = JustificationMode.None; break; case TextAlignment.Justify: _layoutAlignment = Android.Text.Layout.Alignment.AlignNormal; _justificationMode = JustificationMode.InterWord; break; default: case TextAlignment.Left: _layoutAlignment = Android.Text.Layout.Alignment.AlignNormal; _justificationMode = JustificationMode.None; break; } }