繁体   English   中英

Android 可访问性对讲说片段的标题

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM