[prg] Как сразу при входе в activity озвучить talkback подсказку у editText?
Всех приветствую. Подскажите пожалуйста,как сделать,чтобы talkback читал
не только имя activity,на которую я перехожу,но и подсказку или
contentDescription editText,на который автоматически попадает
фокус,поскольку я его явно запрашиваю,используя xml тег requestFocus для
данного editText. Логика подсказывает (поскольку я не смог найти ничего
путного на эту тему не на Русском,не на английском),что я должен после
инициализации editText послать ему какой-то тип accessibilityEvent,но я
перепробовал несколько типов событий,но они не сработали. Подскажите
пожалуйста,как реализовать чтение talkback название первого editText,т.е
того editText,на который попадает фокус при открытии activity? Заранее
благодарю всех за помощь.
Приветствую всех.
Если кратко, то чтобы передать скринридеру текст для озвучивания существует
метод View.announceForAccessibility (см. класс View
https://developer.android.com/reference/android/view/View.html).
Для подробного ответа нужно смотреть ваш код, так что тут вы уж сами
как-нибудь. В крайнем случае, соберите Talkback так, чтобы он выводил в лог
подробную информацию о всех получаемых событиях.
Помимо этого, в Android "поведение" фокусных событий иногда не совпадает с
"поведением" схожих событий в MS Windows, например, когда одна активность
уходит с переднего плана, открывая вторую, accessibility-события, связанного
с изменением фокуса, не возникает, поскольку во второй активности, которая
вышла на передний план, фокус никуда не перемещался.
Если у вас этот случай, то, возможно, имеет смысл принудительно озвучить
активный View в методе onResume вашей активности.
Чисто из практических наблюдений: стабильность работы скринридера (в смысле
озвучивания экранных событий) и на Android тоже зависит от настроек экрана
(например, размера текста и пр.) и на эмуляторе заметно хуже, чем на
реальных устройствах с реальными экранами.
Исходное сообщение Тема: [prg] Как сразу при входе в activity озвучить talkback подсказку у
editText?