当辅助功能对讲开启时。当用户绘制有角度的手势(即向上和向右滑动)时,我需要通过一些自定义操作来显示我的 View 。 类似于 Gmail 邮件,如下图所示 enter image description here
当用户绘制 Action 手势时,即当焦点位于任何消息上时向上和向右滑动时,会显示此弹出窗口。 Action menu
最佳答案
您可以向 AccessibilityDelegate
的 onInitializeAccessibilityNodeInfo
方法内的 AccessibilityNodeInfo
对象添加自定义操作。
如果用户随后选择了该操作,则会在 View 上调用 performAccessibilityAction
方法。
在示例中,“myCustomAction”是向用户显示的文本。
MyCustomView.kt
init {
accessibilityDelegate = object : View.AccessibilityDelegate() {
override fun onInitializeAccessibilityNodeInfo(host: View?, info: AccessibilityNodeInfo?) {
super.onInitializeAccessibilityNodeInfo(host, info)
info?.addAction(AccessibilityNodeInfo.AccessibilityAction(R.id.myCustomAccessibilityEvent, "myCustomAction"));
}
}
}
override fun performAccessibilityAction(action: Int, arguments: Bundle?): Boolean {
if (action == R.id.myCustomAccessibilityEvent) Log.d("TAG", "Accessibility event triggered")
return true;
}
res/values/accessibility.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<item type="id" name="myCustomAccessibilityEvent"/>
</resources>
关于android - 如何在辅助功能本地上下文菜单中添加自定义操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58092735/