0

我经历了很多问题,关于 Android 中的辅助功能的 API 演示,但它无济于事。

我想在我的 Android 应用程序中支持辅助功能。Hints内置辅助功能负责处理所有可聚焦的项目,并在单击时正确读出。

我想在用户点击时触发辅助功能事件TextView。第一次打开屏幕时,我希望它读出我提供的自定义信息。我已经设法做到了,dispatchPopulateAccessibilityEvent但每次屏幕恢复时都会读取。我也无法确定哪个视图正在发送事件。

4

3 回答 3

2

您可以在 TextView 中使用调用“sendAccessibilityEvent”,如下所示:

if (AccessibilityManager.getInstance(mContext).isEnabled()) {
    setContentDescription("The content description for this view");
    sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED);
}

读取的文本(取决于正在使用的辅助功能服务)将基于内容描述,不一定是 TextView 中的文本。

于 2012-05-10T20:24:18.997 回答
1

如果您希望您的视图得到关注并宣布该视图的相关内容描述,您可以使用,

view.requestFocus()
view.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED)

如果您只想宣布一次更改并且不想更改contentDescription与该视图关联的更改,您可以使用

view.announceForAccessibility = "Alert to a user about some event."

注意:announceForAccessibility 不会让可访问性焦点在您的视图上。

于 2019-06-11T09:18:05.500 回答
0

您可以使用

view.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED);

在您的 上TextView,您也可以添加“announceForAccessibility”,但您应该验证版本是否大于或等于 Jelly Bean,但为此您需要更改视图。

最后,如果您想宣布页面的“标题”,例如,您可以为该活动添加 setTitle 并放置您的文本的活动,请记住使用带有标题的工具栏,因为此 setTitle 默认情况下会覆盖操作栏标题.

如果您有任何其他问题,请告诉我。

于 2015-09-09T15:33:56.900 回答