Если вы присмотритесь к своему коду, вы заметите, что RelativeSizeSpan получает значение с плавающей запятой, которое увеличивает размер вашего текста на определенный процент.Значение по умолчанию в пикселях.Если вам нужен измененный размер, вам нужно получить значение по умолчанию и умножить его на переменную float size
.Если этот фактор изменяется во время выполнения, вы можете получить к нему доступ с помощью следующих методов
Следующий код является демонстрационным, настройте его для своего использования.Он протестирован с отладчиком и показывает правильное значение.
SpannableString ss = new SpannableString("some nice text goes here.");
ss.setSpan(new RelativeSizeSpan(3.0f), 5, 10, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
TextView tView = findViewById(R.id.textView);
tView.setText(ss);
// default size - before span
int pixelsPrevious = (int) tView.getTextSize();
// spanned text
Spanned spanned = (Spanned) tView.getText();
RelativeSizeSpan[] spanArray = spanned.getSpans(0, spanned.length(), RelativeSizeSpan.class);
// you are looking for this value.
int pixelsNew = (int) (pixelsPrevious * spanArray[0].getSizeChange());