当 ImageView 通过可访问性获得焦点时,我正在尝试更改 TalkBack 宣布的文本。
Android 文档指出我们应该创建一个 AccessibilityDelegate,并覆盖 onPopulateAccessibilityEvent(我正在使用支持库,因为我也支持 GingerBread)
因此,我的代码如下:
public static void setImageDelegate(View view) {
AccessibilityDelegateCompat delegate = new AccessibilityDelegateCompat() {
@Override
public void onPopulateAccessibilityEvent(View host, AccessibilityEvent event) {
event.getText().add(event.getContentDescription() + ", image");
}
};
ViewCompat.setAccessibilityDelegate(view, delegate);
}
当我在 imageview 上调用此函数时,已设置委托,但未读取修改后的文本。它只是读取原始内容描述。我是否做错了什么或遗漏了辅助功能?
单步执行代码,似乎添加了正确的文本,但语音文本仍然没有变化。
注意:上面是一个人为的例子,可以使用内容描述,但我想弄清楚为什么它在自定义视图上尝试之前不起作用。