Доступ к прогрессу вручную

Компонуемый 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 :

Рис. 5. Навигационный ящик с прогнозируемой поддержкой спины.

В этом примере 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 :

Рис. 5. Навигационный ящик с прогнозируемой поддержкой спины.

В этом примере 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 :

Рис. 5. Навигационный ящик с прогнозируемой поддержкой спины.

В этом примере 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 :

Рис. 5. Навигационный ящик с прогнозируемой поддержкой спины.

В этом примере PredictiveBackHandler используется для:

  • Отслеживайте ход жеста назад.
  • Обновите translationX ящика в зависимости от хода выполнения жеста.
  • Используйте velocityTracker , чтобы плавно открывать или закрывать ящик в зависимости от скорости жеста, когда жест завершен или отменен.