首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android Recyclerview Talkback问题

Android Recyclerview Talkback问题
EN

Stack Overflow用户
提问于 2016-04-08 15:03:27
回答 2查看 10.6K关注 0票数 9

我有一个Android回收视图,其中有一些更多的项目行。

从某种意义上说,Recyclerview包含以下内容

行1 ->> TextView,下面是另一个文本视图

行2 ->> TextView,下面是另一个文本视图

问题是,每当我打开Talkback时,它会一次性读取整个Recyclerview,这并不是预期的,它应该根据聚焦的项目一次读取一个项目。

预期行为是-当d-pad移动到焦点上时,读取组件。

有什么帮助吗??

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-04-11 21:55:14

似乎在构建过程中的某个时刻,您的回收视图被标记为importantForAccessibility。当容器视图被标记为对可访问性重要时,它会收集该容器中的所有信息,并将其声明为内容描述。

这应该会纠正这种情况。

代码语言:javascript
复制
android:importantForAccessibility="no" //Or "auto"

如果你在代码中没有设置,这似乎是你的Android风格的一个bug。这肯定不是理想的默认行为。

编辑:

"no“改为"auto”。实际上,我们只希望它不是"yes",这是创造糟糕行为的值。Auto在现代设备上使用开关控制时表现更好。

我断断续续地研究了一下,我不认为这里有Android OS版本不可知的解决方案。Android API已经在太多版本中多次更改了Focusability与Accessibility Focusability的定义。

票数 6
EN

Stack Overflow用户

发布于 2016-05-12 09:23:23

与克里斯CM的答案相反,你不应该设置...

代码语言:javascript
复制
android:importantForAccessibility="no"

..。在你的RecyclerView上。这将禁用与您的列表相关的所有本机辅助功能功能,包括ACTION_SCROLL_FORWARD / ACTION_SCROLL_BACKWARD操作(Accessibility Source),以及将"In list“/ "Out List”上下文附加到可访问性声明的能力。

相反,您应该设置...

代码语言:javascript
复制
android:focusable="true"
android:focusableInTouchMode="true"

...on您的列表项的根布局,这将使它们在辅助功能用户导航到列表项时能够单独获得焦点。

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36493514

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档