Как рассчитать фактический размер отображаемого текста?

У меня есть textView в другом представлении.

Я хочу вычислить во время выполнения фактический размер отображения этого текста и его контейнера.

Если текст слишком велик, чтобы поместиться в представлении, у меня есть несколько вариантов сокращенного текстового содержимого.

Я прочитал документ textView, но он показывает только [setTextSize][1]

как я могу получить размер текста (в dp, я думаю?) в соответствии с фактическим экраном.

(ориентация, размер экрана, размер шрифта и т. д.)

1
0
623
1

Ответы 1

В TextView есть метод getTextSize(), который возвращает размер шрифта в пикселях. Вы можете проверить здесь в документации. Конечно, это значение в пикселях будет меняться в зависимости от плотности экрана устройства. Если вы хотите преобразовать это значение для dp или sp во время выполнения, вы можете выполнить следующий:

Пиксели для SP: float sp = px / getResources().getDisplayMetrics().scaledDensity;

Пиксели для DP: float dp = px / getResources().getDisplayMetrics().densityDpi;

Другие вопросы по теме