Я думаю, что уменьшение размера текста в соответствии с длиной данных - плохая практика.Таким образом, одним из решений является то, что вы можете переместить текст в следующую строку с помощью следующего кода.
textView.setSingleLine(false);
или
android:singleLine="false"
и установить высоту textView как WRAP_CONTENT