У меня есть textView в другом представлении.
Я хочу вычислить во время выполнения фактический размер отображения этого текста и его контейнера.
Если текст слишком велик, чтобы поместиться в представлении, у меня есть несколько вариантов сокращенного текстового содержимого.
Я прочитал документ textView, но он показывает только [setTextSize][1]
как я могу получить размер текста (в dp, я думаю?) в соответствии с фактическим экраном.
(ориентация, размер экрана, размер шрифта и т. д.)
В TextView есть метод getTextSize(), который возвращает размер шрифта в пикселях. Вы можете проверить здесь в документации. Конечно, это значение в пикселях будет меняться в зависимости от плотности экрана устройства. Если вы хотите преобразовать это значение для dp или sp во время выполнения, вы можете выполнить следующий:
Пиксели для SP:
float sp = px / getResources().getDisplayMetrics().scaledDensity;
Пиксели для DP:
float dp = px / getResources().getDisplayMetrics().densityDpi;