Как сделать поставить кнопку в фокус на android tv?

У меня есть такой экран на андроид tv:

введите сюда описание изображения

В левой панели есть список кнопок, и сейчас ни одна из них не активна. В tv имплементациях эти кнопки могут быть в фокусе в зависимости от того куда пользователь двигает навигацию (нажимая на пульте вверх/вниз). То есть, мне нужно, чтоб когда этот экран открывается первая кнопку была в фокусе. Вот так

введите сюда описание изображения

Вот такой код для отрисовки кнопок:

...
        Column(
            modifier = Modifier.fillMaxWidth()
        ) {
            val curMenuItems: List<SettingItem> by menuItems.collectAsStateWithLifecycle()

            curMenuItems.forEach {
                val interactionSource: MutableInteractionSource = remember { MutableInteractionSource() }
                val isFocused: Boolean by interactionSource.collectIsFocusedAsState()
                val iconTint: Color = if (isFocused) ColorTokens.black else ColorTokens.unspecified

                Button(
                    modifier = Modifier
                        .height(96.dp.withDPIOffset(LocalContext.current))
                        .width(480.dp.withDPIOffset(LocalContext.current)),
                    colors = ButtonDefaults.colors(
                        containerColor = Color.Transparent,
                        contentColor = ColorTokens.warm_grey_10,
                        focusedContainerColor = Color.White,
                        focusedContentColor = Color.Black,
                        pressedContainerColor = Color.Gray,
                        pressedContentColor = Color.LightGray
                    ),
                    interactionSource = interactionSource
                    onClick = { ... }
                ) {
                    Row(
                        modifier = Modifier.fillMaxSize(),
                        horizontalArrangement = ...
                        verticalAlignment = Alignment.CenterVertically
                    ) {
                         ...
                    }
                }
            }
        }
...

То есть для изменения фокуса я использую interactionSource но это работает только когда юзер нажимает на кнопки навигации на пульте, а мне нужно для первой кнопки в списке установить так сказать initial state -> inFocus true.

Любые идеи приветствуются:)


Ответы (0 шт):