//http://egoco.de/post/19077604048/calculating-the-height-of-text-in-android //http://stackoverflow.com/questions/16082359/how-to-auto-adjust-text-size-on-a-multi-line-textview-according-to-the-view-max public SizeF MeasureString(string text, int maxWidth = 2147483647) { TextPaint paint = AndroidBrush.CreateTextPaint(); paint.TextSize = SizeInPoints; paint.SetTypeface(InnerFont); AndroidTextLayout layout = new AndroidTextLayout(paint); return(layout.MeasureString(text, maxWidth)); }
//http://egoco.de/post/19077604048/calculating-the-height-of-text-in-android //http://stackoverflow.com/questions/16082359/how-to-auto-adjust-text-size-on-a-multi-line-textview-according-to-the-view-max public SizeF MeasureString(string text, int maxWidth = 2147483647) { var key = new TextMeasureKey(text, InnerFont, SizeInPoints, maxWidth); return(_measurements.GetOrAdd(key, k => { TextPaint paint = AndroidBrush.CreateTextPaint(); paint.TextSize = k.SizeInPoints; paint.SetTypeface(k.Font); AndroidTextLayout layout = new AndroidTextLayout(paint); return layout.MeasureString(k.Text, k.MaxWidth); })); }