Contenu du post
В Jetpack делают KMP API для обработки системных жестов нажатия назад или Predictive Back Новая библиотека Jetpack NavigationEvent содержит в себе API для обработки нажатия назад или для отслеживания прогресса жеста назад. API cхоже с Dispatcher которое было сделано для Back ранее. Поддерживаются KMP таргеты: Android, Desktop/JVM, iOS, JS, Linux, WASM, watchOS, tvOS, Ming ComponentActivity реализует интерфейс NavigationEventDispatcherOwner: interface NavigationEventDispatcherOwner { val navigationEventDispatcher: NavigationEventDispatcher } NavigationEventDispatcher представляет собой класс, для передачи системны событий Назад: class NavigationEventDispatcher( private val fallbackOnBackPressed: (() -> Unit)?, private val onHasEnabledCallbacksChanged: ((Boolean) -> Unit)?, ) // Добавления callback чтобы слушать когда произйдет нажатие "Назад" fun addCallback( callback: NavigationEventCallback, priority: NavigationEventPriority = NavigationEventPriority.Default ) fun dispatchOnStarted(event: NavigationEvent) fun dispatchOnProgressed(event: NavigationEvent) fun dispatchOnCompleted() fun dispatchOnCancelled() } В Android Activity можно подписаться на обработку события class MyActivity : ComponentActivity() { init { navigationEventDispatcher.addCallback( callback = object : NavigationEventCallback( isEnabled = true, priority = NavigationEventPriority.Default ) { override fun onEventCompleted() { // Back сделан } }, priority = NavigationEventPriority.Default ) } } #android#jetpack#навигация#kmp#kotlin