Компонуемый PredictiveBackHandler
в Jetpack Compose позволяет перехватить жест назад и получить доступ к его прогрессу. Вы можете реагировать на жест назад пользователя в режиме реального времени, создавая собственную анимацию или поведение в зависимости от того, насколько далеко пользователь проводит пальцем.
Чтобы использовать PredictiveBackHandler
, убедитесь, что вы используете androidx.activity:activity:1.6.0
или более позднюю версию.
PredictiveBackHandler
предоставляет Flow<BackEventCompat>
, который генерирует события, представляющие ход выполнения жеста назад. Каждое событие содержит такую информацию, как:
-
progress
: плавающее значение от 0 до 1, указывающее ход выполнения жеста назад (0 = жест запущен, 1 = жест завершен). -
touchX
иtouchY
: координаты X и Y события касания.
В следующем фрагменте показано базовое использование PredictiveBackHandler
:
PredictiveBackHandler(true) { progress: Flow<BackEventCompat> -> // code for gesture back started try { progress.collect { backEvent -> // code for progress boxScale = 1F - (1F * backEvent.progress) } // code for completion boxScale = 0F } catch (e: CancellationException) { // code for cancellation boxScale = 1F } }
Пример: интеграция с навигационным ящиком
В этом примере показано, как реализовать пользовательскую анимацию в приложении с помощью PredictiveBackHandler
для создания плавного взаимодействия с навигационным ящиком в ответ на жесты назад в JetLagged :
В этом примере PredictiveBackHandler
используется для:
- Отслеживайте ход жеста назад.
- Обновите
translationX
ящика в зависимости от хода выполнения жеста. - Используйте
velocityTracker
, чтобы плавно открывать или закрывать ящик в зависимости от скорости жеста, когда жест завершен или отменен.
Компонуемый PredictiveBackHandler
в Jetpack Compose позволяет перехватить жест назад и получить доступ к его прогрессу. Вы можете реагировать на жест назад пользователя в режиме реального времени, создавая собственную анимацию или поведение в зависимости от того, насколько далеко пользователь проводит пальцем.
Чтобы использовать PredictiveBackHandler
, убедитесь, что вы используете androidx.activity:activity:1.6.0
или более позднюю версию.
PredictiveBackHandler
предоставляет Flow<BackEventCompat>
, который генерирует события, представляющие ход выполнения жеста назад. Каждое событие содержит такую информацию, как:
-
progress
: плавающее значение от 0 до 1, указывающее ход выполнения жеста назад (0 = жест запущен, 1 = жест завершен). -
touchX
иtouchY
: координаты X и Y события касания.
В следующем фрагменте показано базовое использование PredictiveBackHandler
:
PredictiveBackHandler(true) { progress: Flow<BackEventCompat> -> // code for gesture back started try { progress.collect { backEvent -> // code for progress boxScale = 1F - (1F * backEvent.progress) } // code for completion boxScale = 0F } catch (e: CancellationException) { // code for cancellation boxScale = 1F } }
Пример: интеграция с навигационным ящиком
В этом примере показано, как реализовать пользовательскую анимацию в приложении с помощью PredictiveBackHandler
для создания плавного взаимодействия с навигационным ящиком в ответ на жесты назад в JetLagged :
В этом примере PredictiveBackHandler
используется для:
- Отслеживайте ход жеста назад.
- Обновите
translationX
ящика в зависимости от хода выполнения жеста. - Используйте
velocityTracker
, чтобы плавно открывать или закрывать ящик в зависимости от скорости жеста, когда жест завершен или отменен.
Компонуемый PredictiveBackHandler
в Jetpack Compose позволяет перехватить жест назад и получить доступ к его прогрессу. Вы можете реагировать на жест назад пользователя в режиме реального времени, создавая собственную анимацию или поведение в зависимости от того, насколько далеко пользователь проводит пальцем.
Чтобы использовать PredictiveBackHandler
, убедитесь, что вы используете androidx.activity:activity:1.6.0
или более позднюю версию.
PredictiveBackHandler
предоставляет Flow<BackEventCompat>
, который генерирует события, представляющие ход выполнения жеста назад. Каждое событие содержит такую информацию, как:
-
progress
: плавающее значение от 0 до 1, указывающее ход выполнения жеста назад (0 = жест запущен, 1 = жест завершен). -
touchX
иtouchY
: координаты X и Y события касания.
В следующем фрагменте показано базовое использование PredictiveBackHandler
:
PredictiveBackHandler(true) { progress: Flow<BackEventCompat> -> // code for gesture back started try { progress.collect { backEvent -> // code for progress boxScale = 1F - (1F * backEvent.progress) } // code for completion boxScale = 0F } catch (e: CancellationException) { // code for cancellation boxScale = 1F } }
Пример: интеграция с навигационным ящиком
В этом примере показано, как реализовать пользовательскую анимацию в приложении с помощью PredictiveBackHandler
для создания плавного взаимодействия с навигационным ящиком в ответ на жесты назад в JetLagged :
В этом примере PredictiveBackHandler
используется для:
- Отслеживайте ход жеста назад.
- Обновите
translationX
ящика в зависимости от хода выполнения жеста. - Используйте
velocityTracker
, чтобы плавно открывать или закрывать ящик в зависимости от скорости жеста, когда жест завершен или отменен.
Компонуемый PredictiveBackHandler
в Jetpack Compose позволяет перехватить жест назад и получить доступ к его прогрессу. Вы можете реагировать на жест назад пользователя в режиме реального времени, создавая собственную анимацию или поведение в зависимости от того, насколько далеко пользователь проводит пальцем.
Чтобы использовать PredictiveBackHandler
, убедитесь, что вы используете androidx.activity:activity:1.6.0
или более позднюю версию.
PredictiveBackHandler
предоставляет Flow<BackEventCompat>
, который генерирует события, представляющие ход выполнения жеста назад. Каждое событие содержит такую информацию, как:
-
progress
: плавающее значение от 0 до 1, указывающее ход выполнения жеста назад (0 = жест запущен, 1 = жест завершен). -
touchX
иtouchY
: координаты X и Y события касания.
В следующем фрагменте показано базовое использование PredictiveBackHandler
:
PredictiveBackHandler(true) { progress: Flow<BackEventCompat> -> // code for gesture back started try { progress.collect { backEvent -> // code for progress boxScale = 1F - (1F * backEvent.progress) } // code for completion boxScale = 0F } catch (e: CancellationException) { // code for cancellation boxScale = 1F } }
Пример: интеграция с навигационным ящиком
В этом примере показано, как реализовать пользовательскую анимацию в приложении с помощью PredictiveBackHandler
для создания плавного взаимодействия с навигационным ящиком в ответ на жесты назад в JetLagged :
В этом примере PredictiveBackHandler
используется для:
- Отслеживайте ход жеста назад.
- Обновите
translationX
ящика в зависимости от хода выполнения жеста. - Используйте
velocityTracker
, чтобы плавно открывать или закрывать ящик в зависимости от скорости жеста, когда жест завершен или отменен.