Код: Выделить всё
val focusRequesters = List(3) { FocusRequester() }
Column(
modifier = Modifier.
focusProperties {
next = focusRequesters[0]
}
) {
Box {
...
Box(
modifier =
Modifier
.fillMaxSize()
.focusRequester(focusRequesters[0])
) {
// 0..n boxes of size > 0
}
...
}
}
Однако то, что происходит, не имеет смысла. Когда я загружаю страницу с помощью TalkBack, окно с запрашивающим сразу фокусируется (не ожидается). Следующий компонент, на который следует обратить внимание, — это верхняя часть страницы. Когда вы естественным образом переходите от верхней части страницы к точке, где блок ДОЛЖЕН получить фокус, он не получается, а вместо этого получается внутренний блок, который имеет смысл быть первым, на который можно фокусироваться, когда внутри блока получается фокус. Однако элемент-обертка Box получает фокус как ПОСЛЕДНИЙ элемент. Это вообще не имеет смысла.
Насколько я понимаю, ДОЛЖЕН быть следующий порядок:
Box -> InternalBox1 -> InternalBox2 -> и т. д. -> FocusRequester.Default
Кто-нибудь знает, какую концепцию мне не хватает?
Подробнее здесь: https://stackoverflow.com/questions/786 ... -any-sense