这让我发疯,我不知道如何为“用两根手指轻扫以更改页面”自定义操作。如果我想在“双击”后进行一些自定义,则可以使用它,因此,我敢肯定,我走在正确的轨道上。但是我尝试过的每种动作类型似乎都不起作用。这是我必须在“双击到”后附加一些文本的内容。但是,我几乎尝试过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)
}
})
感谢您的帮助
答案 0 :(得分:0)
我在Viewpager滑动时遇到了类似的缺陷,例如Talkback宣布。我通过设置 viewpager oveerride方法-onPageScrolled
来解决此问题重写乐趣onPageScrolled(position:Int,positionOffset:Float,positionOffsetPixels:Int){
//这将在您每次滑动时触发 viewpager.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_ACCESSIBILITY_FOCUSED)
}
因此,在您的情况下,您可以在viewpager(以编程方式或XML方式)中为每个页面管理自定义辅助功能文本,并且在您滑动时便会宣布