我在textview下方有一个水平的回收器视图(最近的项目在最右边的位置,而最旧的项目在最左边的位置)。辅助功能控件到达文本视图后,在向右滑动时,它将聚焦在回收者视图的最左侧项目(即第一项)上。有没有一种方法可以将默认焦点设置为最右边的项目。

最佳答案

我的答案是...。不要这样做。

焦点顺序应遵循阅读顺序。使用从左到右的语言,与数据的组织方式无关,这意味着从左到右。

想象一下:有人在您的应用程序中快速滑动,然后高高兴兴地前进……下一个,下一个,下一个,下一个……等等。然后突然之间,他们滑过您的控件并跳过了很多内容。盲人会假设“向右滑动”正在移至下一件事。现在,它们刚刚滑入了“ Recycler View”中最右边的元素。他们会知道他们跳过了一堆内容吗???没有。从盲人的角度来看,该内容会丢失,除非他们知道以某种方式向右滑动然后向左滑动以向后走...不是很幸运。

除非....

您是否要“向右滑动”向左移动并管理容器中每个元素的焦点。请不要这样做,要使其正确适用于所有相关技术(“话语提示”,“话语提示”,“切换控制”,“盲文提示”等),比您想像的要困难得多。

假设您不必费心管理Recycler容器的所有元素。从盲人的角度来看,您的应用在整个过程中向右滑动与在整个过程中向左滑动的外观非常不同。

总结一下……不要这样做!

值得注意的是,这也是一个重复的问题,因为这里有许多TalkBack焦点管理问题。

08-16 01:58