android - 如何实现android中间progressbar accessibility

标签 android android-progressbar accessibility android-a11y

我想在 android 中间进度条上宣布加载文本。我想在加载中间进度条时为在 Android 设备上使用对讲服务的残疾人输出类似的内容。

  • 正在加载文件。
  • 正在获取文件。
  • 文件正在转换。
  • 文件已加载。

我查了一下谷歌,发现我可以使用:

1) 进度条 View 上的 announceForAccessibility。 (在我的情况下不起作用,只有当我用处理程序加载它时才起作用)

我的代码

override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
    }

    override fun onResume() {
        super.onResume()
        val progressbar: ProgressBar = findViewById(R.id.testProgressBar)
        // progressbar.announceForAccessibility("My name is Neo "); // not working
        Handler().postDelayed(object : Runnable {
            override fun run() {
                progressbar.announceForAccessibility("My name is Neo ");
            }
        }, 1000)

    }

你们有什么其他的建议来解决这类问题吗?我想知道人们是如何在这么多地方工作的https://www.programcreek.com/java-api-examples/?class=android.view.View&method=announceForAccessibility

感谢您的帮助。

最佳答案

您可以尝试礼貌的 android:accessibilityLiveRegion,这将确保 TalkBack 不会打断已经宣布的内容:

<ProgressBar 
    android:id="@+id/testProgressBar"
    …
    android:accessibilityLiveRegion="polite" />

更多在这里: Using a Live Region

关于android - 如何实现android中间progressbar accessibility,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54281265/

相关文章:

android - Android生命周期和iOS生命周期之间的比较

html - JAWS 屏幕阅读器在 FireFox 中重复树项目

Android AccessibilityManager getEnabledAccessibilityServiceList 在某些情况下返回空列表

android - 防止 View 在 RelativeLayout 中重叠

android - 使用 URL 命令控制 GoPro

android - 在 TwoWayView Android 库中设置分隔线高度

android - SwipeRefreshLayout 中使用的 drawable 可以更改吗?

twitter-bootstrap - 动画 Bootstrap 进度条由于某种原因继续进行

android - ProgressBar 高度=match_parent

android - 使用 TalkBack 或 VoiceOver 时样式居中的复选框不可选中