处理长数字(如银行帐号)的首选方法是一次读取一个字符?我知道用户可以让 TalkBack 以这种方式读出一个数字,但如果我们能暗示它应该从一开始就这样做,那就太好了。
在数字之间设置空格是一个好主意,还是用户会觉得这很烦人?
谢谢!
处理长数字(如银行帐号)的首选方法是一次读取一个字符?我知道用户可以让 TalkBack 以这种方式读出一个数字,但如果我们能暗示它应该从一开始就这样做,那就太好了。
在数字之间设置空格是一个好主意,还是用户会觉得这很烦人?
谢谢!
我与几位屏幕阅读器用户交谈过,他们都确认在这种情况下我们不应该特意做任何不寻常的事情。他们都说“别担心,我们可以解决的。你不需要帮助我们。”
如果屏幕阅读器用户到达他们需要更清晰的区域,他们将使用箭头键逐个字符,直到他们满意并继续让屏幕阅读器继续。
为您的 editText 或 textView 使用以下委托
@Override
public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfo info) {
super.onInitializeAccessibilityNodeInfo(host, info);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
switch (host.getId()) {
case R.id.tv_bookingID:
if (((TextView) host).getText().length() > 1) {
sb.delete(0, sb.length());
for (char c : ((TextView) host).getText().toString().toCharArray()) {
sb.append(c).append(" ");
}
//change text for talkback
info.setText(null);
info.setContentDescription(sb.toString().trim());
}
break;
}
}//if
}