Премиальная Android-библиотека для знакомства пользователей с функциями приложения — без внешних зависимостей. Большинство библиотек для знакомства пользователей с функциями приложения предлагают лишь простой прожектор и текстовый блок либо добавляют в проект тяжёлые зависимости. Focora создана с упором на минимальный размер, максимальную производительность и премиальный внешний вид.
Возможности
- Прожектор с плавным изменением формы — при переходе между шагами плавно превращается из скруглённого прямоугольника в круг, капсулу или обычный прямоугольник
- Радарное пульсирующее свечение — эффектные расширяющиеся кольца вокруг выделенной области сразу привлекают внимание
- Переход по нажатию на целевой элемент — пользователь может перейти дальше, нажав непосредственно на выделенный элемент интерфейса или кнопку Next
- Выделение по виртуальным координатам — можно подсвечивать элементы Canvas, иконки Toolbar или произвольные координаты на экране без экземпляра View
- 4 стиля анимации — Expand, Fade, Pulse, Slide или None для режима с уменьшенным количеством анимаций
- Полностью программная подсказка — никаких XML-макетов и конфликтов ресурсов с вашим приложением
- Глубокая настройка темы — цвета, радиус углов, высота, размеры текста, шрифты, стили кнопок, стрелка, индикаторы шагов — всё настраивается
- Настройка каждого шага отдельно — каждый шаг может независимо переопределять форму, стиль анимации, положение подсказки и радиус углов
- Собственное представление подсказки — встроенную подсказку можно заменить любым View для конкретного шага
- Одноразовое обучение и умное продолжение — состояние «уже просмотрено» автоматически сохраняется через tutorialKey, а при добавлении новых шагов можно показывать только их
- Учитывает жизненный цикл — автоматически удаляет себя при уничтожении Activity с помощью Application.ActivityLifecycleCallbacks
- Передача касаний — нажатия внутри области прожектора попадают в настоящее представление под ним
- Обработка кнопки «Назад» — можно настроить закрытие по нажатию Back
- Закрытие по нажатию за пределами области — настраивается как для всей сессии, так и для отдельных шагов
- Индикаторы шагов — анимированный ряд точек или автоматически увеличивающийся текст вроде «1 из 3»
- Кнопка пропуска — необязательная, с полностью настраиваемым текстом
- Стрелка-указатель — треугольная стрелка, соединяющая подсказку с выделенной областью
- Задержка запуска — можно задать паузу перед появлением оверлея
- Поддержка уменьшенного количества анимаций — учитывает системную настройку «Отключить анимации»
- Поддержка RTL — стрелка и компоновка автоматически зеркалятся
- TalkBack / Accessibility — содержимое шага озвучивается через announceForAccessibility
- Ноль зависимостей — без Material, Kotlin, Hilt и сторонних библиотек
- API 23+ — поддерживается Android 6.0 и новее
- Безопасно для ProGuard/R8 — необходимые consumer rules уже включены

