У меня есть TextView
, который textSize
равен 3
.Я хочу отобразить эту строку следующим образом:
String line =
لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ و با استفاده از طراحان گرافیک است. چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است و برای شرایط فعلی تکنولوژی مورد نیاز و کاربردهای متنوع با هدف بهبود;
Я рассчитываю доступную ширину TextView
для текста во время выполнения, реализуя интерфейс ViewTreeObserver.OnGlobalLayoutListener
:
int textAreaWidth;
@Override
public void onGlobalLayout() {
textAreaWidth = textView.getWidth() - (textView.getPaddingLeft() + textView.getPaddingRight());
}
Также я вычисляюширина line
как здесь:
TextPaint textPaint = textView.getPaint();
float lineWidth = textPaint.measureText(line);
В Logcat
Я вижу значения textAreaWidth
и lineWidth
:
textAreaWidth > 668
lineWidth > 668.0
Как вы видите textAreaWidth
и lineWidth
равны, но TextView
разбивает line
на 2 строк и отображает их:
لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ و با استفاده از طراحان گرافیک است. چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است و برای شرایط فعلی تکنولوژی مورد نیاز و کاربردهای متنوع با هدف
بهبود
Почему TextView
разбивает line
, в то время как ширина строки равнаравна доступной ширине для текста?