У меня есть пользовательская кнопка, которая полностью состоит из моего собственного xml. Я могу настроить для него стиль, цвет и текст + значок, но теперь мне нужно установить собственный размер текста.
Я добавил к своим стильным атрибутам новый атрибут <attr name="l_buttonTextSize" format="dimension"/>
, затем установил значение для textSize из размеров app:l_buttonTextSize="@dimen/text_small"
. Но я не могу прочитать это при инициализации кнопки.
Вот как я прочитал это значение:
val buttonTxtSize = typedArray.getFloat(btnTextSizeIndex, resources.getDimension(R.dimen.text_medium))
setButtonTextSize(buttonTxtSize)
fun setButtonTextSize(value: Float){
buttonText.setTextSize(TypedValue.COMPLEX_UNIT_PX, value)
}
У меня есть это исключение:
java.lang.NumberFormatException: For input string: "12.0sp"
Похоже, что строка была отправлена вместо значения измерения в виде числа с плавающей запятой.
getDimension
вместоgetFloat
? - person Selvin   schedule 04.02.2021