public double MeasureTextSize(string text, double width, double fontSize, string fontName = null) { var textView = new TextView(global::Android.App.Application.Context); textView.Typeface = GetTypeface(fontName); textView.SetText(text, TextView.BufferType.Normal); textView.SetTextSize(ComplexUnitType.Px, (float)fontSize); int widthMeasureSpec = AViews.View.MeasureSpec.MakeMeasureSpec( (int)width, AViews.MeasureSpecMode.AtMost); int heightMeasureSpec = AViews.View.MeasureSpec.MakeMeasureSpec( 0, AViews.MeasureSpecMode.Unspecified); textView.Measure(widthMeasureSpec, heightMeasureSpec); return (double)textView.MeasuredHeight; }
public Size TextExtents(string text, TextOptions options) { TextView view = new TextView (Context); view.Text = text; view.Measure (0, 0); return new Size (view.MeasuredWidth, view.MeasuredHeight); }