AIKraft/Skills/Навигация фокуса в compose

Навигация фокуса в compose

Use when writing or reviewing Jetpack Compose UI for TV, keyboard, desktop, accessibility focus, D-pad navigation, FocusRequester, focusProperties, key events, or initial focus behavior.

chrisbanes official Дизайн

Что делает навык

Навигация фокуса в Jetpack Compose для TV, десктопа и доступности. Управляет поведением фокуса, навигацией D-pad, запросами начального фокуса и обработкой событий клавиш.

Когда применять

  • Настройка начального или восстановленного фокуса после загрузки контента
  • Обработка событий клавиш и навигации D-pad для TV или десктопа
  • Кастомизация пространственного поиска фокуса через focusProperties
  • Тестирование поведения фокуса с использованием пользовательского ввода

Как работает

  1. Использовать FocusRequester и Modifier.focusRequester для программных запросов фокуса
  2. Вызывать запросы фокуса из LaunchedEffect, привязывая их к условиям появления целевого элемента
  3. Применять Modifier.onFocusChanged для реакции на изменения состояния фокуса
  4. Использовать Modifier.focusProperties только для исправления неверного пространственного поиска
  5. Обрабатывать клавиши через onPreviewKeyEvent, потребляя только обработанные события
  6. Тестировать поведение через performKeyInput и assertIsFocused в composeTestRule

Примеры запросов агенту

Настройте начальный фокус на кнопке 'Play' после загрузки списка элементов в Jetpack Compose
Обработайте нажатие клавиши Back в TV-интерфейсе, чтобы закрыть экран, используя onPreviewKeyEvent
Измените направление навигации D-pad для заголовка, чтобы фокус переходил на первую строку таблицы

Что понадобится

  • Jetpack Compose UI
  • Compose UI testing (composeTestRule)
  • Среда разработки с поддержкой TV, десктопа или доступности

Описание составлено по SKILL.md навыка, сверено 05.10.2026.

Как подключить

1Скачать навык
# возьмите папку навыка «compose-focus-navigation» из репозитория: # https://github.com/chrisbanes/skills
2Положить папку с SKILL.md к навыкам ассистента
# положите папку навыка туда, где ассистент ищет skills: cp -r compose-focus-navigation/ ~/.claude/skills/compose-focus-navigation/

Навык — папка с файлом SKILL.md (описание + инструкции) и опциональными скриптами. Ассистент (Claude, Claude Code и совместимые) подхватывает его по описанию и следует шагам.