我有一个具有长按操作处理程序的 View 。我使用内容描述来设置当 View 获得焦点时 Talkback 说话的消息。
目前它在获得焦点后立即显示我的内容描述,并在短暂的停顿后显示:
Double tap to activate, double tap and hold for long press
我想把这个消息改成类似的东西
Double tap to "action 1", double tap and hold for "action 2"
有办法吗?
我查看了 onPopulateAccessibilityEvent()
,它获得了 TYPE_VIEW_ACCESSIBILITY_FOCUSED
事件,但我无法更改所需的消息。
我是不是漏掉了一些简单的东西?
最佳答案
自从 alanv 发布他的答案以来,AccessibilityAction
似乎发生了轻微的变化。这是一个使用 ViewCompat
的有效解决方案:
ViewCompat.setAccessibilityDelegate(view, new AccessibilityDelegateCompat() {
@Override
public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfoCompat info) {
super.onInitializeAccessibilityNodeInfo(host, info);
// A custom action description. For example, you could use "pause"
// to have TalkBack speak "double-tap to pause."
CharSequence description = host.getResources().getText(R.string.my_click_desc);
AccessibilityActionCompat customClick = new AccessibilityActionCompat(
AccessibilityNodeInfoCompat.ACTION_CLICK, description);
info.addAction(customClick);
}
});
关于android - 如何更改双击和长按的 Android 对讲指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39455917/