[英]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.