Esempio n. 1
0
        //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));
        }
Esempio n. 2
0
        //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);
            }));
        }