Android 12 Developer Preview is here! Try it out, and give us your feedback!

SharedElementCallback

abstract class SharedElementCallback
kotlin.Any
   ↳ androidx.core.app.SharedElementCallback

Listener provided in androidx.fragment.app.FragmentActivity#setEnterSharedElementCallback(SharedElementCallback) and androidx.fragment.app.FragmentActivity#setExitSharedElementCallback(SharedElementCallback) to monitor the Activity transitions. The events can be used to customize Activity Transition behavior.

Summary

Nested classes
abstract

Listener to be called after when the shared elements are ready to be hidden in the source Activity and shown in the destination Activity.

Public constructors

Listener provided in androidx.fragment.app.FragmentActivity#setEnterSharedElementCallback(SharedElementCallback) and androidx.fragment.app.FragmentActivity#setExitSharedElementCallback(SharedElementCallback) to monitor the Activity transitions.

Public methods
open Parcelable!
onCaptureSharedElementSnapshot(sharedElement: View!, viewToGlobalMatrix: Matrix!, screenBounds: RectF!)

Creates a snapshot of a shared element to be used by the remote Activity and reconstituted with onCreateSnapshotView(android.content.Context, android.os.Parcelable).

open View!
onCreateSnapshotView(context: Context!, snapshot: Parcelable!)

Reconstitutes a snapshot View from a Parcelable returned in onCaptureSharedElementSnapshot(android.view.View, android.graphics.Matrix, * android.graphics.RectF) to be used in onSharedElementStart(java.util.List, * java.util.List, java.util.List) and onSharedElementEnd(java.util.List, * java.util.List, java.util.List).

open Unit
onMapSharedElements(names: MutableList<String!>!, sharedElements: MutableMap<String!, View!>!)

Lets the SharedElementCallback adjust the mapping of shared element names to Views.

open Unit
onRejectSharedElements(rejectedSharedElements: MutableList<View!>!)

Called after onMapSharedElements(java.util.List, java.util.Map) when transferring shared elements in.

open Unit
onSharedElementEnd(sharedElementNames: MutableList<String!>!, sharedElements: MutableList<View!>!, sharedElementSnapshots: MutableList<View!>!)

In Activity Transitions, onSharedElementEnd is called immediately before capturing the end of the shared element state on enter and reenter transitions and immediately before capturing the start of the shared element state for exit and return transitions.

open Unit
onSharedElementStart(sharedElementNames: MutableList<String!>!, sharedElements: MutableList<View!>!, sharedElementSnapshots: MutableList<View!>!)

In Activity Transitions, onSharedElementStart is called immediately before capturing the start of the shared element state on enter and reenter transitions and immediately before capturing the end of the shared element state for exit and return transitions.

open Unit

Called during an Activity Transition when the shared elements have arrived at the final location and are ready to be transferred.

Public constructors

<init>

SharedElementCallback()

Listener provided in androidx.fragment.app.FragmentActivity#setEnterSharedElementCallback(SharedElementCallback) and androidx.fragment.app.FragmentActivity#setExitSharedElementCallback(SharedElementCallback) to monitor the Activity transitions. The events can be used to customize Activity Transition behavior.

Public methods

onCaptureSharedElementSnapshot

open fun onCaptureSharedElementSnapshot(
    sharedElement: View!,
    viewToGlobalMatrix: Matrix!,
    screenBounds: RectF!
): Parcelable!

Creates a snapshot of a shared element to be used by the remote Activity and reconstituted with onCreateSnapshotView(android.content.Context, android.os.Parcelable). A null return value will mean that the remote Activity will have a null snapshot View in onSharedElementStart(java.util.List, java.util.List, java.util.List) and onSharedElementEnd(java.util.List, java.util.List, java.util.List).

This is not called for Fragment Transitions.

Parameters
sharedElement View!: The shared element View to create a snapshot for.