Talkback - настроить доступность текста для просмотра View Pager - PullRequest
0 голосов
/ 24 января 2019

Это сводит меня с ума, и я не могу понять, как просто настроить действие для «Проведите двумя пальцами, чтобы изменить страницу».У меня все работает, если я хочу сделать некоторые настройки после «Двойного нажатия», так что я уверен, что я на правильном пути.Но каждый тип действия, который я пробовал, кажется, не работает.Вот то, что я должен добавить текст после «Двойного нажатия на».Тем не менее, я попробовал почти все перечисления действий из AccessibilityNodeInfoCompat и большинство ничего не читал.Я пытаюсь добавить дополнительный текст после «Проведите двумя пальцами»

ViewCompat.setAccessibilityDelegate(container, object : AccessibilityDelegateCompat() {
        override fun onInitializeAccessibilityNodeInfo(host: View, info: AccessibilityNodeInfoCompat) {
            super.onInitializeAccessibilityNodeInfo(host, info)
            // A custom action description. For example, you could use "pause"
            // to have TalkBack speak "double-tap to pause."
            val description = "This is a test"//host.resources.getText(R.string.)
            val customClick = AccessibilityActionCompat(
                AccessibilityNodeInfoCompat.ACTION_CLICK, description
            )
           // for(action in info.actionList){
           //     val t = info.actionList

           //         info.removeAction(action)
          //  }
            info.addAction(customClick)
        }
    })

Спасибо за любую помощь

1 Ответ

0 голосов
/ 28 марта 2019

Я столкнулся с подобным типом дефекта, который Talkback объявляет во время прокрутки в viewpager. Я исправил это, установив метод viewpager oveerride - onPageScrolled

переопределить удовольствие onPageScrolled (position: Int, positionOffset: Float, positionOffsetPixels: Int) {

// это будет срабатывать каждый раз, когда вы проводите viewpager.sendAccessibilityEvent (AccessibilityEvent.TYPE_VIEW_ACCESSIBILITY_FOCUSED)
}

Таким образом, в вашем случае вы можете управлять пользовательским текстом доступности для каждой страницы в viewpager (программно или в формате XML), и он сообщит, как только вы проведете пальцем

...