我经历了很多问题,关于 Android 中的辅助功能的 API 演示,但它无济于事。
我想在我的 Android 应用程序中支持辅助功能。Hints
内置辅助功能负责处理所有可聚焦的项目,并在单击时正确读出。
我想在用户点击时触发辅助功能事件TextView
。第一次打开屏幕时,我希望它读出我提供的自定义信息。我已经设法做到了,dispatchPopulateAccessibilityEvent
但每次屏幕恢复时都会读取。我也无法确定哪个视图正在发送事件。
我经历了很多问题,关于 Android 中的辅助功能的 API 演示,但它无济于事。
我想在我的 Android 应用程序中支持辅助功能。Hints
内置辅助功能负责处理所有可聚焦的项目,并在单击时正确读出。
我想在用户点击时触发辅助功能事件TextView
。第一次打开屏幕时,我希望它读出我提供的自定义信息。我已经设法做到了,dispatchPopulateAccessibilityEvent
但每次屏幕恢复时都会读取。我也无法确定哪个视图正在发送事件。
您可以在 TextView 中使用调用“sendAccessibilityEvent”,如下所示:
if (AccessibilityManager.getInstance(mContext).isEnabled()) {
setContentDescription("The content description for this view");
sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED);
}
读取的文本(取决于正在使用的辅助功能服务)将基于内容描述,不一定是 TextView 中的文本。
如果您希望您的视图得到关注并宣布该视图的相关内容描述,您可以使用,
view.requestFocus()
view.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED)
如果您只想宣布一次更改并且不想更改contentDescription
与该视图关联的更改,您可以使用
view.announceForAccessibility = "Alert to a user about some event."
注意:announceForAccessibility 不会让可访问性焦点在您的视图上。
您可以使用
view.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED);
在您的 上TextView
,您也可以添加“announceForAccessibility”,但您应该验证版本是否大于或等于 Jelly Bean,但为此您需要更改视图。
最后,如果您想宣布页面的“标题”,例如,您可以为该活动添加 setTitle 并放置您的文本的活动,请记住使用带有标题的工具栏,因为此 setTitle 默认情况下会覆盖操作栏标题.
如果您有任何其他问题,请告诉我。