Если вы посмотрите на getTextSize () , он возвращает размер текста в пикселях, поэтому если вы хотите, чтобы размер текста был в sp (sp - наиболее часто используемая единица textSize) тогда вы можете использовать метод, приведенный ниже.
public static int getSPfromPX(int px) {
int sizeValue;
float sp = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, px, getResources().getDisplayMetrics());
sizeValue = (int) Math.ceil(sp);
return sizeValue;
}
А вот это Kotlin вариант
fun getSPfromPX(px: Int): Int {
val sizeValue: Int
val sp = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, px.toFloat(), resources.displayMetrics)
sizeValue = ceil(sp.toDouble()).toInt()
return sizeValue
}