Android辅助功能公告读取textview的方式与我预期的有所不同

时间:2018-09-04 06:56:06

标签: android accessibility talkback

例如,将TextView中的“文本”设置为“ 347309”后,TalkBack应显示为“三,四,七,三,零(或o),九”。 但它宣布“三十四万七千三百九十九”。

在另一种情况下, 我设置了文本“ API”(应用程序编程接口)。 我希望TalkBack宣布“ A-P-I”,但宣布“ eipi”或“eipaɪ”。

如何让TalkBack正确宣布?

2 个答案:

答案 0 :(得分:0)

点击这里检查代码。您需要获取该字符串的字符数组,并将每个字符与附加空格分开,并将该字符串设置为您视图的内容描述。

代码如下:

Var str="347309"
textView.setContentDescription =getCharFromText(str)
fun getCharFromText(str:String):String
{
  Var sb= StringBuilder()
  foreach(c in str.charArray())
  {    
    sb.append("")
    sb.append(c).append(" ")
  }
  return sb.tostring()
}

答案 1 :(得分:0)

Talkback 具有调整文本阅读方式的内置功能。通过向上或向下滑动屏幕,用户可以根据需要从默认状态变为逐个字母地读出文本。

最好允许用户通过现有控件进行控制,而不是以编程方式强制进行此选择。