Используйте вот так:

я есть текст, который должен быть установлен в TextView с указанной шириной. Нужно рассчитать размер текста, чтобы он поместился в TextView.

Другими словами: есть ли способ вписать текст в область TextView, например функцию масштабирования ImageView?

 Ronnie06 мая 2012 г., 17:02
Проверьте этот ответ здесьstackoverflow.com/questions/7259016/scale-text-in-a-view-to-fit/...

Ответы на вопрос(1)

которое занимает текст после, то может помочь следующее:

Paint paint = new Paint();
Rect bounds = new Rect();

int text_height = 0;
int text_width = 0;

paint.setTypeface(Typeface.DEFAULT);// your preference here
paint.setTextSize(25);// have this the same as your text size

String text = "Some random text";

paint.getTextBounds(text, 0, text.length(), bounds);

text_height =  bounds.height();
text_width =  bounds.width();

Изменить (после комментария): Используйте вышесказанное в обратном порядке:

int text_height = 50;
int text_width = 200;

int text_check_w = 0;
int text_check_h = 0;

int incr_text_size = 1;
boolean found_desired_size = true;

while (found_desired_size){
    paint.setTextSize(incr_text_size);// have this the same as your text size

    String text = "Some random text";

    paint.getTextBounds(text, 0, text.length(), bounds);

    text_check_h =  bounds.height();
    text_check_w =  bounds.width();
    incr_text_size++;

if (text_height == text_check_h && text_width == text_check_w){
found_desired_size = false;
}
}
return incr_text_size; // this will be desired text size from bounds you already have

// этот метод может быть немного изменен, но дает представление о том, что вы можете сделать

 DKV06 янв. 2017 г., 07:13
@kankan: ты получил ответ?
 kankan25 янв. 2011 г., 17:22
Это не совсем то, что я хочу. Мне не нужно рассчитывать высоту / ширину текста в соответствии с размером текста и шрифтом. Мне нужно рассчитать размер текста в соответствии с высотой / шириной и шрифтом.

Ваш ответ на вопрос