Predictive Back is a navigation pattern tied to gesture navigation which shows the user a glimpse of where swiping back will bring them. Before completing a swipe, the user can decide to continue to the previous view or stay in the current view.
In Android 13 (T / API level 33), the OS introduced support for predictive back-to-home, which shows the user a preview of the home screen when swiping back to exit an app.
With Android 14 (U / API level 34), the OS adds support for in-app predictive back, which apps can take advantage of to show the user previous destinations when swiping back within the app itself.
To opt in to predictive back, apps must:
Migrate from the legacy back handling APIs (Activity#onBackPressed
,
KeyEvent.KEYCODE_BACK
, etc.) to the more recently introduced “back callback”
APIs (OnBackAnimationCallback
, OnBackPressedCallback
, etc.). This involves
flipping the android:enableOnBackInvokedCallback
manifest flag to true
, and
registering callbacks to handle back pressed on Android T and above. More
details on this general back migration can be found at the
Framework & AndroidX Predictive Back developer guide.
Upgrade to MDC-Android library version 1.10.0 or above.
Once completing these steps, you will get most of the predictive back animations within Material Components for free on Android U devices. See the section below to understand which components support predictive back and to learn about special considerations for each component.
The following Material Components support predictive back behavior and animations:
SearchView
set up with SearchBar
)NavigationView
within DrawerLayout
)Note: The Material Components above only automatically handle back on API
Level 33+, and when the android:enableOnBackInvokedCallback
manifest flag to
true
. This is to be consistent with the behavior of other AndroidX and
Framework views, as well as to avoid taking precedence over any pre-existing
back handling behavior that has already been implemented by apps.
Future predictive back support is planned for the following Material Components: