Example #1
0
 internal static void UpdateHorizontalAlignment(this EditText view, TextAlignment alignment, bool hasRtlSupport, AGravityFlags orMask = AGravityFlags.NoGravity)
 {
     if ((int)Build.VERSION.SdkInt < 17 || !hasRtlSupport)
     {
         view.Gravity = alignment.ToHorizontalGravityFlags() | orMask;
     }
     else
     {
         view.TextAlignment = alignment.ToTextAlignment();
     }
 }
Example #2
0
 internal static void UpdateHorizontalAlignment(this EditText view, TextAlignment alignment, AGravityFlags orMask = AGravityFlags.NoGravity)
 {
     if (!Rtl.IsSupported)
     {
         view.Gravity = alignment.ToHorizontalGravityFlags() | orMask;
     }
     else
     {
         view.TextAlignment = alignment.ToTextAlignment();
     }
 }
 internal static void UpdateHorizontalAlignment(this EditText view, TextAlignment alignment)
 {
     if ((int)Build.VERSION.SdkInt < 17)
     {
         view.Gravity = alignment.ToHorizontalGravityFlags();
     }
     else
     {
         view.TextAlignment = alignment.ToTextAlignment();
     }
 }
Example #4
0
        public static SizeF GetTextSize(string text, FontAttributes fontAttributes, TextAlignment alignment, LineBreakMode lineBreakMode, float maxWidth, float height = -1)
        {
            var tb = new TextBlock();

            tb.AddText(text, fontAttributes.ToStyle());
            tb.Alignment = alignment.ToTextAlignment();
            tb.MaxWidth  = maxWidth;

            tb.MaxLines = null;
            tb.Layout();
            return(new SizeF(tb.MeasuredWidth, tb.MeasuredHeight));
        }
Example #5
0
 internal static void UpdateTextAlignment(this EditText view, TextAlignment horizontal, TextAlignment vertical)
 {
     if ((int)Build.VERSION.SdkInt < 17 || !view.Context.HasRtlSupport())
     {
         view.Gravity = vertical.ToVerticalGravityFlags() | horizontal.ToHorizontalGravityFlags();
     }
     else
     {
         view.TextAlignment = horizontal.ToTextAlignment();
         view.Gravity       = vertical.ToVerticalGravityFlags();
     }
 }
Example #6
0
 public static void UpdateTextAlignment(this EditText view, TextAlignment horizontal, TextAlignment vertical)
 {
     if (view.Context != null && !view.Context.HasRtlSupport())
     {
         view.Gravity = vertical.ToVerticalGravityFlags() | horizontal.ToHorizontalGravityFlags();
     }
     else
     {
         view.TextAlignment = horizontal.ToTextAlignment();
         view.Gravity       = vertical.ToVerticalGravityFlags();
     }
 }
Example #7
0
 internal static void UpdateTextAlignment(this EditText view, TextAlignment horizontal, TextAlignment vertical)
 {
     if (!Rtl.IsSupported)
     {
         view.Gravity = vertical.ToVerticalGravityFlags() | horizontal.ToHorizontalGravityFlags();
     }
     else
     {
         view.TextAlignment = horizontal.ToTextAlignment();
         view.Gravity       = vertical.ToVerticalGravityFlags();
     }
 }
Example #8
0
        protected virtual void DrawText(string text, SKCanvas canvas, FontAttributes data, Color color, TextAlignment alignment, LineBreakMode lineBreakMode, VerticalAlignment verticalAlignment)
        {
            var tb = new TextBlock();

            tb.AddText(text, data.ToStyle(color));
            tb.MaxWidth  = VirtualView.Frame.Width;
            tb.MaxHeight = VirtualView.Frame.Height;
            tb.MaxLines  = null;
            tb.Alignment = alignment.ToTextAlignment();
            tb.Layout();

            var y = verticalAlignment switch
            {
                VerticalAlignment.Bottom => VirtualView.Frame.Height - tb.MeasuredHeight,
                VerticalAlignment.Center => (VirtualView.Frame.Height - tb.MeasuredHeight) / 2,
                _ => 0
            };

            tb.Paint(canvas, new SKPoint(0, y));
        }