如何解决针对 chromebook 优化 Android 应用程序,在顶视图中进行循环焦点更改
我正在尝试优化 Android 应用中 ChromeO 的焦点变化。我已经读过official docs,codelabs。并发现可以使用 nextFocusForwardId
、nextFocusLeftId
、nextFocusRightId
来管理焦点更改顺序……我试图仅在一个视图中使焦点更改循环。
看看这张照片:
通常,当我按下 Tab
键时,我会浏览按钮菜单,然后离开并浏览覆盖层下方的其余 UI。
当我按下 Right
箭头时,我会立即离开这个菜单。
我正在尝试禁用此场景,并使焦点更改循环。因此,当底部按钮获得焦点时,我按下 Tab
或 Down
,顶部按钮应该获得焦点并忽略其余 ui。
我试过这个功能:
fun makeCyclicFocusChange(viewGroup: ViewGroup) {
for (v in viewGroup.children) {
v.nextFocusLeftId = 0
v.nextFocusRightId = 0
}
viewGroup.children.first{ it.isVisible && it.isFocusable}.nextFocusUpId =
viewGroup.children.last{ it.isVisible && it.isFocusable }.id
viewGroup.children.last{ it.isVisible && it.isFocusable }.nextFocusDownId =
viewGroup.children.first{ it.isVisible && it.isFocusable }.id
viewGroup.children.last{ it.isVisible && it.isFocusable }.nextFocusForwardId =
viewGroup.children.first{ it.isVisible && it.isFocusable }.id
}
但它不起作用。首先,Left
和 Right
箭头仍然会分散注意力。此外,当我在最后一个按钮上按下 Tab
键时,焦点确实转到了第一个按钮,但下一次 Tab
按下仍会将焦点从该菜单上移开。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。