簡體   English   中英

Talkback - 為 View Pager 滑動自定義輔助功能文本

[英]Talkback - Customize accessibility text for View Pager swipe

這讓我抓狂,我不知道如何自定義“用兩根手指滑動以更改頁面”的動作。 如果我想在“雙擊”之后進行一些自定義,我已經讓它工作了,所以我很確定我在正確的軌道上。 但是我嘗試過的每種操作類型似乎都不起作用。 這是我必須在“雙擊以”之后附加一些文本的內容。 但是,我已經嘗試了 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)
        }
    })

謝謝你的幫助

我遇到了類似的缺陷,比如在 viewpager 滑動時對講宣布。 我通過設置viewpager overerride 方法修復了這個問題 - onPageScrolled

覆蓋樂趣 onPageScrolled(position: Int, positionOffset: Float, positionOffsetPixels: Int) {

//每次滑動viewpager.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_ACCESSIBILITY_FOCUSED)時都會觸發
}

因此,在您的情況下,您可以在 viewpager 中管理每個頁面的自定義輔助功能文本(以編程方式或以 XML 方式),並且一旦您滑動它就會宣布

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM