0

我正在探索 android sdk, android version > 4.1 中提供的 API Demos。API 演示 -> 可访问性 -> 可访问性节点提供程序

AccessibilityNodeProvider 包含一些具有红色、绿色、蓝色颜色的自定义视图。如活动中所述,我启用了对讲并尝试将鼠标悬停在视图上。Talkback 无法读取颜色。Talkback 正在阅读活动中可用的文本,而不是颜色。我想知道 Talkback 是否读取活动中的颜色(自定义视图)?

提前致谢

4

2 回答 2

2

在 AccessibilityNodeProviderActivity 类的 com.example.android.apis.accessibility 包中,找到 sendAccessibilityEventForVirtualView() 方法。您需要将 AccessibilityEvent 上的 eventType 设置为 AccessibilityEvent.TYPE_ANNOUNCEMENT,如下所示:

event.getText().add(virtualView.mText);
event.setEventType(AccessibilityEvent.TYPE_ANNOUNCEMENT);
getParent().requestSendAccessibilityEvent(VirtualSubtreeRootView.this, event);

这应该使它宣布文本。但它仍然没有突出显示视图——不知道预期的行为是否应该突出显示节点。

于 2014-05-07T17:49:44.503 回答
0

我发现这个 Google 代码示例是在节点提供程序设置中说出文本的更好示例。

(下面的旧答案。)

AccessibilityNodeProviderActivity课堂上,看方法sendAccessibilityEventForVirtualView()。您会看到设置到事件中的文本是在accessibility_node_provider.xml. 您可以用不同颜色值的措辞替换该文本,以获得您所要求的内容。

于 2013-09-24T20:53:32.377 回答