Масштабировать текст в режиме просмотра?

Я не считаю, что это существует, но хотелось бы проверить. Я хотел бы установить размер текста TextView таким образом, чтобы он соответствовал заданной ширине, одной строке. Пример:

   

благодаря

Вы можете использовать TextUtils.EllipsizeCallback . Когда текст становится эллипсированным, этот обратный вызов выполняется с помощью текстового представления. Здесь вы можете установить размер текста меньше текущего.

EDIT: В противном случае вы можете использовать TextUtils.ellipsize таким образом

 while (mText != TextUtils.ellipsize(mText, textPaint, other params)) { textpaint.setTextSize(textpaint.getTextSize() - 1); } 

Эта пользовательская функция должна это сделать, используя TextUtils.ellipsize …

 public static void shrinkTextToFit(float availableWidth, TextView textView, float startingTextSize, float minimumTextSize) { CharSequence text = textView.getText(); float textSize = startingTextSize; textView.setTextSize(startingTextSize); while (text != (TextUtils.ellipsize(text, textView.getPaint(), availableWidth, TextUtils.TruncateAt.END))) { textSize -= 1; if (textSize < minimumTextSize) { break; } else { textView.setTextSize(textSize); } } } 

Вы всегда можете комбинировать определение макета xml с java и динамически определять размер текста. Вероятно, вам понадобятся некоторые расчеты и ссылки от dip-единиц на информацию о плотности пикселей в текущем экране, но как только это будет сделано, она должна почти гарантировать решение вашей проблемы во всех случаях.

Вот хорошее упакованное решение для автоматической подгонки текста: https://github.com/grantland/android-autofittextview

  • Вертикальная (повернутая) метка в Android
  • Могу ли я обернуть каждую строку многострочного текста в промежутке?
  • Хороший цвет текста переднего плана для заданного цвета фона
  • Как я могу определить кодировку / кодовую страницу текстового файла
  • Обосновать последнюю строку div?
  • Усечение длинных строк с помощью CSS: возможно?
  • Форматирование текста в ярлыке WinForm
  • Можно ли написать вертикально в текстовом виде в android?
  • Как эффективно анализировать CSV-файл в Perl?
  • андроидный эллипсовый многострочный текст
  • Как настроить кнопку UISwitch в iphone?
  • Давайте будем гением компьютера.