Доступность Android – невозможно объявить TextViews как заголовок или ссылкуAndroid

Форум для тех, кто программирует под Android
Anonymous
Доступность Android – невозможно объявить TextViews как заголовок или ссылку

Сообщение Anonymous »

У меня есть несколько TextView, которые я хотел бы объявить в виде заголовка или ссылки в режиме Talkback. В настоящее время он просто объявляет текст внутри TextView, но я бы хотел, чтобы после этого он говорил «Заголовок» или «ссылка» в зависимости от TextView. Например, я бы хотел, чтобы в режиме Talkback объявлялось «Вход — заголовок», а не просто «Войти».

До сих пор я пробовал добавить это в onCreate() моей активности:

Код: Выделить всё

ViewCompat.setAccessibilityDelegate(v, new AccessibilityDelegateCompat() {
@Override
public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfoCompat info) {
super.onInitializeAccessibilityNodeInfo(host, info);
info.setHeading(true);
}
});
В режиме Talkback изменений нет — он по-прежнему просто объявляет «войти в систему».

Я заметил, что этот метод onInitializeAccessibilityNodeInfo вызывается несколько раз. Когда я запускаю отладчик, каждый раз, когда этот метод запускается, он показывает, что isHeading() имеет значение false, а затем устанавливается в true.

Я неправильно использую этот метод? Почему его называют много раз? Почему info.setHeading(true) практически игнорируется?

Как мне сделать что-то подобное, но с режимом Talkback, объявляющим «Ярлык — Ссылка» вместо заголовка ?

Подробнее здесь: https://stackoverflow.com/questions/586 ... er-or-link

Вернуться в «Android»