Техническое задание: Исправление работы Bottom Sheet
Контекст проблемы
В Android-приложении, написанном на Kotlin, на экране оформления покупок (раздел "Сертификаты") используется Bottom Sheet для отображения списка. В текущей реализации возникла критическая проблема с юзабилити: стандартный механизм закрытия окна свайпом вниз (drag-to-dismiss) не работает. В интерфейсе также отсутствует какая-либо кнопка для возврата (например, "Назад" или крестик). Единственный способ закрыть окно - использовать системную кнопку навигации Android, что неудобно для пользователей и нарушает ожидаемые паттерны поведения.
Цель работы
Восстановить корректное и предсказуемое поведение Bottom Sheet, соответствующее гайдлайнам Material Design и ожиданиям пользователей.
Основные требования к реализации
Обязательные
- Восстановление drag-to-dismiss: Bottom Sheet должен стабильно и плавно закрываться свайпом вниз по всей его области.
- Предсказуемость навигации: Действие "назад" (как через свайп, так и при добавлении кнопки) должно работать интуитивно понятно для пользователя.
Рекомендуемые (на усмотрение исполнителя)
- Добавление UI-элемента для закрытия: Рассмотреть возможность добавления в интерфейс Bottom Sheet понятной кнопки для возврата (например, иконки "крестик" или стрелки "назад"). Это обеспечит дополнительный, визуально очевидный способ закрытия, не зависящий от системных элементов.
- Решение должно быть реализовано аккуратно, без нарушения существующей логики экрана и визуального дизайна.
Критерии приемки
- Bottom Sheet закрывается свайпом вниз стабильно, без багов и зависаний.
- Возврат назад работает предсказуемо через реализованный механизм (свайп/кнопка).
- Изменения не вызывают регрессионных ошибок в работе экрана покупки.