这让我抓狂,我不知道如何自定义“用两根手指滑动以更改页面”的操作。如果我想在“双击”之后进行一些自定义,我已经可以使用它了,所以我很确定我在正确的轨道上。但是我尝试过的每种 Action 类型似乎都不起作用。这是我必须在“双击到”之后附加一些文本的内容。但是,我已经尝试了 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 滑动时 Talkback 正在宣布。我通过设置 viewpager overerride 方法 - onPageScrolled
解决了这个问题override fun onPageScrolled(position: Int, positionOffset: Float, positionOffsetPixels: Int) {
//this will trigger each time when u swipe viewpager.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_ACCESSIBILITY_FOCUSED)
}
因此,在您的情况下,您可以在 viewpager 中管理每个页面的自定义辅助功能文本(以编程方式或以 XML 格式),一旦您滑动它就会宣布
关于android - Talkback - 为查看寻呼机滑动自定义辅助功能文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54354423/