[英]Android accessibility talkback to say fragment's title
有没有办法让 Android 可访问性中的对讲 function 在片段事务之后说些什么? 我基本上希望对讲在切换后说出片段的名称/标题。 这些标题被设置为操作栏的标题,在那里可以访问它们吗? 用户可以在操作栏中的文本上方移动手指以了解他们在哪个屏幕上,但除非他们已经熟悉该应用程序,否则用户不会知道这一点。
您可以从装饰视图强制WINDOW_STATE_CHANGED
事件来宣布ActionBar
标题。 这也会导致TalkBack
清除辅助功能焦点,因此您应该只在应用的主要内容发生变化时调用它。
getWindow().getDecorView()
.sendAccessibilityEvent(AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED);
你也可以使用
binding.rootView.announceForAccessibility("My fragment title")
在片段的 onViewCreated() 函数中。
如果您不使用 viewBinding,则只需使用片段布局的根视图来调用函数announceForAccessibility()
自 Android 9 以来推荐的方法是在 Fragment 的根视图上设置辅助功能窗格标题。 这是适用于 API 19+ 的向后兼容方式:
ViewCompat.setAccessibilityPaneTitle(view, "My fragment title")
如果您使用 AppCompat,您还可以在 XML 布局中以向后兼容的方式提供标题:
android:accessibilityPaneTitle="@string/fragment_title"
换入新片段时将自动宣布标题。
有关更多信息,请阅读官方 Android 文档以获取辅助功能窗格标题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.