Кнопка TextView с использованием Bluetooth-клавиатуры и голосового помощника - PullRequest
1 голос
/ 31 мая 2019

У меня есть две TextView в формате xml в виде кнопок (Да) и (Нет). Я тестирую мобильное приложение, используя клавиатуру Bluetooth и голосовой помощник для слепых. Я хочу, чтобы, когда пользователь выбирает кнопку «Да», голосовой помощник говорит «Да выбрано» или если пользователь выбирает «Нет», он говорит «Нет выбрано».

Я использую Android Studio. Это старое мобильное приложение, которое необходимо обновить для слепых.

<TextView
    android:id="@+id/vhr_question_yes"
    android:text="Yes"
    android:clickable="true" />
<TextView
    android:id="@+id/vhr_question_no"
    android:text="No"
    android:clickable="true" />

Ответы [ 2 ]

1 голос
/ 06 июня 2019

Вы можете просто добавить android:contentDescription="your text to be read." в свой XML-файл или vhr_question_yes.contentDescription = "your text to be read."

 <TextView
     android:id="@+id/vhr_question_yes"
     android:text="Yes"
     android:contentDescription="your text to be read."
     android:clickable="true" />

view.setContentDescription("your text here") будет содержать текст, который необходимо считывать в случае обратной связи.

Вы также можете добавить паузу с помощью \n, например: «Ваш текст здесь \ n Кнопку \ n дважды нажмите, чтобы выбрать»

после щелчка, если вам нужно снова сфокусироваться на нем, затемВы можете добавить,

view.setOnClickListener{

    //.... some action .....

    // below code will set accessibility focus again on that view.
    view.requestFocus()
    view.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED)
}
0 голосов
/ 01 июня 2019

Вы можете установить состояние просмотра на selected.Таким образом, программа чтения с экрана уведомит пользователя об изменении его состояния.

textView.setOnClickListener { view ->
    view.isSelected = true
}

В этом случае программа чтения с экрана сообщит только о том, что выбран вид.Когда пользователь переходит обратно к этому представлению, читатель снова объявляет, что это представление выбрано.

Если вам действительно нужен весь текст для произнесения, вы можете использовать объявление программы чтения с экрана.

textView.setOnClickListener {view ->
    view.isSelected = true

    (view as? TextView)?.let {
        it.announceForAccessibility("${it.text} is selected")
    }
}

Пользователь может рассчитывать на непротиворечивость через платформу.Когда представление выбрано, читатель может читать как selected, yes.Таким образом, объявления должны быть использованы осторожно.Кроме того, при использовании только объявлений выбранное состояние не будет сохраняться, если пользователь вернется к этому представлению позже.

...