#android #accessibility #android-accessibility
Вопрос:
У меня есть некоторые метрические единицы, такие как «кг» и «мл». Talkback читает письма, и я реализовал описание содержимого в каждом случае:
when (someText) {
"kg" -> someText.contentDescription = "kilograms"
"ml" -> someText.contentDescription = "milliliters"
}
Это работает, но мне нужно сделать это глобальным: каждый кг или мл в приложении должен быть прочитан Talkback как «килограммы» или «миллилитры».
Какой подход является наилучшим для этого?
Ответ №1:
Он не может быть настроен для обратной связи на уровне приложения. Вы можете создать функцию utils и использовать ее во всей кодовой базе.
Что-то вроде:
fun TextView.setUnit(unit: String) {
text = unit
when (unit) {
"kg" -> contentDescription = "kilograms"
"ml" -> contentDescription = "milliliters"
}
}
А затем использовать его:
textView.setUnit("kg")
Другим вариантом может быть создание пользовательского представления для единиц визуализации, в котором задается описание содержимого.