微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

针对 chromebook 优化 Android 应用程序,在顶视图中进行循环焦点更改

如何解决针对 chromebook 优化 Android 应用程序,在顶视图中进行循环焦点更改

我正在尝试优化 Android 应用中 ChromeO 的焦点变化。我已经读过official docscodelabs。并发现可以使用 nextFocusForwardIdnextFocusLeftIdnextFocusRightId 来管理焦点更改顺序……我试图仅在一个视图中使焦点更改循环。 看看这张照片:

enter image description here

通常,当我按下 Tab 键时,我会浏览按钮菜单,然后离开并浏览覆盖层下方的其余 UI。 当我按下 Right 箭头时,我会立即离开这个菜单。 我正在尝试禁用此场景,并使焦点更改循环。因此,当底部按钮获得焦点时,我按下 TabDown,顶部按钮应该获得焦点并忽略其余 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
}

但它不起作用。首先,LeftRight 箭头仍然会分散注意力。此外,当我在最后一个按钮上按下 Tab 键时,焦点确实转到了第一个按钮,但下一次 Tab 按下仍会将焦点从该菜单上移开。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。