Esempio n. 1
0
 /// <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,
     TextWrapping textWrapping,
     int maxLines,
     Size availableSize,
     bool exactWidth,
     float lineHeight,
     LineStackingStrategy lineStackingStrategy,
     LayoutBuilder existingBuilder
     )
 {
     _textFormatted        = textFormatted;
     _paint                = paint;
     _ellipsize            = ellipsize;
     _layoutAlignment      = layoutAlignment;
     _textWrapping         = textWrapping;
     _maxLines             = maxLines;
     AvailableSize         = availableSize;
     _exactWidth           = exactWidth;
     _lineHeight           = lineHeight;
     _lineStackingStrategy = lineStackingStrategy;
     Layout                = existingBuilder?.Layout;
     _metrics              = existingBuilder?._metrics;
 }
Esempio n. 2
0
        private void UpdateTextTrimming()
        {
            if (_ellipsize != null)
            {
                return;
            }

            switch (TextTrimming)
            {
            case TextTrimming.CharacterEllipsis:
            case TextTrimming.WordEllipsis:                     // For lack of true WordEllipsis support
                _ellipsize = TruncateEnd;
                break;

            case TextTrimming.Clip:
            case TextTrimming.None:
            default:
                _ellipsize = null;
                break;
            }
        }
Esempio n. 3
0
 // Invalidate _ellipsize
 partial void OnTextTrimmingChangedPartial() => _ellipsize = null;
Esempio n. 4
0
 partial void OnMaxLinesChangedPartial() => _ellipsize     = null;
Esempio n. 5
0
        public static Java.Lang.ICharSequence Ellipsize(Java.Lang.ICharSequence text, TextPaint p, float avail, TextUtils.TruncateAt where)
        {
            if (AndroidTextUtils == IntPtr.Zero || StaticEllipsize1 == IntPtr.Zero)
            {
                return(null);
            }

            var methodParams = new JValue[4];

            methodParams[0] = new JValue(text);
            methodParams[1] = new JValue(p);
            methodParams[2] = new JValue(avail);
            methodParams[3] = new JValue(where);
            return(Java.Lang.Object.GetObject <Java.Lang.ICharSequence>(
                       JNIEnv.CallStaticObjectMethod(AndroidTextUtils, StaticEllipsize1, methodParams),
                       JniHandleOwnership.TransferLocalRef));
        }