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

Я не считаю, что это существует, но хотелось бы проверить. Я хотел бы установить размер текста 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

  • Как я могу определить кодировку / кодовую страницу текстового файла
  • Обосновать последнюю строку div?
  • Как печатать цвет в консоли с помощью System.out.println?
  • Можно ли написать вертикально в текстовом виде в android?
  • Как добавить разрыв строки в Android TextView?
  • Как читать и анализировать CSV-файлы на C ++?
  • Форматирование текста в ярлыке WinForm
  • Хороший цвет текста переднего плана для заданного цвета фона
  • Можно ли изменить цвет текста в строке на несколько цветов в Java?
  • Как настроить кнопку UISwitch в iphone?
  • Эффективность анализа (если, TryParse, Try-Catch)
  • Давайте будем гением компьютера.