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

MaterialContainerTransformSharedElementCallback

public class MaterialContainerTransformSharedElementCallback
extends SharedElementCallback

java.lang.Object
   ↳ android.app.SharedElementCallback
     ↳ com.google.android.material.transition.platform.MaterialContainerTransformSharedElementCallback


A SharedElementCallback to be used for MaterialContainerTransform transitions.

Summary

Nested classes

interface MaterialContainerTransformSharedElementCallback.ShapeProvider

Allows providing a ShapeAppearanceModel for the shared element view. 

class MaterialContainerTransformSharedElementCallback.ShapeableViewShapeProvider

A MaterialContainerTransformSharedElementCallback.ShapeProvider that provides the view's ShapeAppearanceModel if the view implements the Shapeable interface. 

Public constructors

MaterialContainerTransformSharedElementCallback()

Public methods

MaterialContainerTransformSharedElementCallback.ShapeProvider getShapeProvider()

Get the MaterialContainerTransformSharedElementCallback.ShapeProvider for this callback, or null if it is not set.

boolean isSharedElementReenterTransitionEnabled()

Returns whether incoming Activity's sharedElementReenterTransition will be respected.

boolean isTransparentWindowBackgroundEnabled()

Returns whether the incoming window's background should be made transparent during the transition.

Parcelable onCaptureSharedElementSnapshot(View sharedElement, Matrix viewToGlobalMatrix, RectF screenBounds)
View onCreateSnapshotView(Context context, Parcelable snapshot)
void onMapSharedElements(List<String> names, Map<String, View> sharedElements)
void onSharedElementEnd(List<String> sharedElementNames, List<View> sharedElements, List<View> sharedElementSnapshots)
void onSharedElementStart(List<String> sharedElementNames, List<View> sharedElements, List<View> sharedElementSnapshots)
void setShapeProvider(MaterialContainerTransformSharedElementCallback.ShapeProvider shapeProvider)

Set the MaterialContainerTransformSharedElementCallback.ShapeProvider for this callback, which allows providing a ShapeAppearanceModel for the shared element view.

void setSharedElementReenterTransitionEnabled(boolean sharedElementReenterTransitionEnabled)

If enabled, the Activity's sharedElementReenterTransition will be respected; otherwise it will be set to null.

void setTransparentWindowBackgroundEnabled(boolean transparentWindowBackgroundEnabled)

If enabled, the incoming window's background will be made transparent during the transition.

Inherited methods

Public constructors

MaterialContainerTransformSharedElementCallback

public MaterialContainerTransformSharedElementCallback ()

Public methods

isSharedElementReenterTransitionEnabled

public boolean isSharedElementReenterTransitionEnabled ()

Returns whether incoming Activity's sharedElementReenterTransition will be respected.

Returns
boolean

isTransparentWindowBackgroundEnabled

public boolean isTransparentWindowBackgroundEnabled ()

Returns whether the incoming window's background should be made transparent during the transition.

Returns
boolean

onCaptureSharedElementSnapshot

public Parcelable onCaptureSharedElementSnapshot (View sharedElement, 
                Matrix viewToGlobalMatrix, 
                RectF screenBounds)

Parameters
sharedElement View

viewToGlobalMatrix Matrix

screenBounds RectF

Returns
Parcelable

onCreateSnapshotView

public View onCreateSnapshotView (Context context, 
                Parcelable snapshot)

Parameters
context Context

snapshot Parcelable

Returns
View

onMapSharedElements

public void onMapSharedElements (List<String> names, 
                Map<String, View> sharedElements)

Parameters
names List

sharedElements Map

onSharedElementEnd

public void onSharedElementEnd (List<String> sharedElementNames, 
                List<View> sharedElements, 
                List<View> sharedElementSnapshots)

Parameters
sharedElementNames List

sharedElements List

sharedElementSnapshots List

onSharedElementStart

public void onSharedElementStart (List<String> sharedElementNames, 
                List<View> sharedElements, 
                List<View> sharedElementSnapshots)

Parameters
sharedElementNames List

sharedElements List

sharedElementSnapshots List

setShapeProvider

public void setShapeProvider (MaterialContainerTransformSharedElementCallback.ShapeProvider shapeProvider)

Set the MaterialContainerTransformSharedElementCallback.ShapeProvider for this callback, which allows providing a ShapeAppearanceModel for the shared element view.

The default is a MaterialContainerTransformSharedElementCallback.ShapeableViewShapeProvider, which will use the view's ShapeAppearanceModel if the view implements the Shapeable interface.

Parameters
shapeProvider MaterialContainerTransformSharedElementCallback.ShapeProvider

setSharedElementReenterTransitionEnabled

public void setSharedElementReenterTransitionEnabled (boolean sharedElementReenterTransitionEnabled)

If enabled, the Activity's sharedElementReenterTransition will be respected; otherwise it will be set to null. Default is false, meaning the sharedElementReenterTransition will be set to null.

Parameters
sharedElementReenterTransitionEnabled boolean

setTransparentWindowBackgroundEnabled

public void setTransparentWindowBackgroundEnabled (boolean transparentWindowBackgroundEnabled)

If enabled, the incoming window's background will be made transparent during the transition. This results in an effect where the outgoing activity's content is visible for the duration of the transition, because the incoming window background will not be faded in on top of it. Default is true.

Note: in order to avoid some visual artifacts, when this setting is enabled the window's transition background fade duration (see Window.setTransitionBackgroundFadeDuration(long)) will be overridden to be greater than the duration of the transform transition.

Parameters
transparentWindowBackgroundEnabled boolean