医生:
https://developer。android。com/reference/kotlin/androidx/compose/ui/focus/package-summary (androidx。compose。ui。Modifier) 。focusOrder (kotlin。Function1)
我想要一个列的自定义焦点顺序。
我跟随文档,设置不同的焦点请求者为每个项目,并指定项目的焦点下一步,但它似乎Talkback忽略了我的元素的焦点顺序。
这里有一个例子:
val focusRequesters = remember { List(4) { FocusRequester() } }
Column {
Text("Line 1",
Modifier
.focusOrder(focusRequesters[0]) {
next = focusRequesters[2]
down = focusRequesters[2]
right = focusRequesters[2]
}
.focusable())
Text("Line 2",
Modifier
.focusOrder(focusRequesters[1]) {
next = focusRequesters[0]
down = focusRequesters[0]
right = focusRequesters[0]
}
.focusable())
Text("Line 3",
Modifier
.focusOrder(focusRequesters[2]) {
next = focusRequesters[3]
down = focusRequesters[3]
right = focusRequesters[3]
}
.focusable())
Text("Line 4",
Modifier
.focusOrder(focusRequesters[3]) {
next = focusRequesters[1]
down = focusRequesters[1]
right = focusRequesters[1]
}
.focusable())
}
尝试了下一个右下和每个单独的组合,但似乎没有改变可访问性遍历顺序。
###焦点顺序将被考虑,如果你改变它LocalFocusManager
something like this:
LocalFocusManager.current.moveFocus(FocusDirection.Next)
但这与可访问性无关。似乎android:accessibilityTraversalAfter对等物还不能在Compose跟随这个问题的细节。