Most visited

Recently visited

SharedElementCallback

public abstract class SharedElementCallback
extends Object

java.lang.Object
   ↳ android.support.v4.app.SharedElementCallback


监听器在setEnterSharedElementCallback(SharedElementCallback)setExitSharedElementCallback(SharedElementCallback)提供,用于监视活动转换。 这些事件可以用来自定义活动转换行为。

Summary

Public constructors

SharedElementCallback()

Public methods

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

创建远程“活动”使用的共享元素的快照,并使用 onCreateSnapshotView(android.content.Context, android.os.Parcelable)重新 onCreateSnapshotView(android.content.Context, android.os.Parcelable)

View onCreateSnapshotView(Context context, Parcelable snapshot)

重建 onCaptureSharedElementSnapshot(android.view.View, android.graphics.Matrix, android.graphics.RectF)返回的可用于 onSharedElementStart(java.util.List, java.util.List, java.util.List)onSharedElementEnd(java.util.List, java.util.List, java.util.List)的快照View。

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

让SharedElementCallback调整共享元素名称到Views的映射。

void onRejectSharedElements(List<View> rejectedSharedElements)

在传输共享元素时调用 onMapSharedElements(java.util.List, java.util.Map)

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

在活动转换中,onSharedElementEnd在捕获进入和重新输入转换时的共享元素状态结束之前立即被调用,并在捕获用于退出和返回转换的共享元素状态的开始之前立即调用onSharedElementEnd。

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

在活动转换中,onSharedElementStart在捕获进入和重新输入转换时的共享元素状态开始之前立即被调用,并且在捕获共享元素状态的结束以用于退出和返回转换之前立即调用onSharedElementStart。

Inherited methods

From class java.lang.Object

Public constructors

SharedElementCallback

SharedElementCallback ()

Public methods

onCaptureSharedElementSnapshot

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

创建远程活动使用的共享元素的快照,并使用onCreateSnapshotView(android.content.Context, android.os.Parcelable)重新onCreateSnapshotView(android.content.Context, android.os.Parcelable) 空返回值将意味着远程活动在onSharedElementStart(java.util.List, java.util.List, java.util.List)onSharedElementEnd(java.util.List, java.util.List, java.util.List)中将具有空快照View。

这不是所谓的片段转换。

Parameters
sharedElement View: The shared element View to create a snapshot for.
viewToGlobalMatrix Matrix: A matrix containing a transform from the view to the screen coordinates.
screenBounds RectF: The bounds of shared element in screen coordinate space. This is the bounds of the view with the viewToGlobalMatrix applied.
Returns
Parcelable A snapshot to send to the remote Activity to be reconstituted with onCreateSnapshotView(android.content.Context, android.os.Parcelable) and passed into onSharedElementStart(java.util.List, java.util.List, java.util.List) and onSharedElementEnd(java.util.List, java.util.List, java.util.List).

onCreateSnapshotView

View onCreateSnapshotView (Context context, 
                Parcelable snapshot)

onSharedElementStart(java.util.List, java.util.List, java.util.List)onSharedElementEnd(java.util.List, java.util.List, java.util.List)重新使用onCaptureSharedElementSnapshot(android.view.View, android.graphics.Matrix, android.graphics.RectF)中的可onCaptureSharedElementSnapshot(android.view.View, android.graphics.Matrix, android.graphics.RectF)快照视图。 返回的视图将在调用后调整大小并定位,以便可以将其添加到装饰视图的叠加层。

这不是所谓的片段转换。

Parameters
context Context: The Context used to create the snapshot View.
snapshot Parcelable: The Parcelable returned by onCaptureSharedElementSnapshot(android.view.View, android.graphics.Matrix, android.graphics.RectF).
Returns
View A View to be sent in onSharedElementStart(java.util.List, java.util.List, java.util.List) and onSharedElementEnd(java.util.List, java.util.List, java.util.List). A null value will produce a null snapshot value for those two methods.

onMapSharedElements

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

让SharedElementCallback调整共享元素名称到Views的映射。

Parameters
names List: The names of all shared elements transferred from the calling Activity or Fragment in the order they were provided.
sharedElements Map: The mapping of shared element names to Views. The best guess will be filled into sharedElements based on the transitionNames.

onRejectSharedElements

void onRejectSharedElements (List<View> rejectedSharedElements)

在传递共享元素时调用onMapSharedElements(java.util.List, java.util.Map)没有映射的任何共享元素将位于rejectedSharedElements中 保留在rejectedSharedElements中的元素将转换出场景。 如果视图从rejectedSharedElements中删除,则必须由SharedElementListener处理。

rejectedSharedElements中的视图将其位置和大小设置为调用共享元素相对于Window装饰视图的位置,并包含来自调用Activity或Fragment的View的快照。 此视图可以安全地添加到装饰视图的覆盖图中以保持原位。

该方法不被称为片段转换。 所有被拒绝的共享元素将由退出过渡处理。

Parameters
rejectedSharedElements List: Views containing visual information of shared elements that are not part of the entering scene. These Views are positioned relative to the Window decor View. A View removed from this list will not be transitioned automatically.

onSharedElementEnd

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

在活动转换中,onSharedElementEnd在捕获进入和重新输入转换时的共享元素状态结束之前立即被调用,并在捕获用于退出和返回转换的共享元素状态的开始之前立即调用onSharedElementEnd。

在片段转换中,在捕获所有共享元素转换的结束状态之前立即调用onSharedElementEnd。

此调用可用于通过修改共享元素Views来调整转换结束状态。 请注意,onSharedElementEnd和转换状态捕获之间不会执行布局步骤。

onSharedElementStart(List, List, List)中所做的任何更改都不会在布局过程中更新,请在onSharedElementEnd中更正。 例如,旋转或缩放不会受布局影响,如果在onSharedElementStart(List, List, List)更改,它也必须在onSharedElementEnd中重新设置以更正结束状态。

Parameters
sharedElementNames List: The names of the shared elements that were accepted into the View hierarchy.
sharedElements List: The shared elements that are part of the View hierarchy.
sharedElementSnapshots List: The Views containing snap shots of the shared element from the launching Window. These elements will not be part of the scene, but will be positioned relative to the Window decor View. This list will be null for Fragment Transitions.

onSharedElementStart

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

在活动转换中,onSharedElementStart在捕获进入和重新输入转换时的共享元素状态开始之前立即被调用,并且在捕获共享元素状态的结束以用于退出和返回转换之前立即调用onSharedElementStart。

在片段转换中,在捕获所有共享元素转换的开始状态之前立即调用onSharedElementStart。

此调用可用于通过修改共享元素Views来调整转换开始状态。 请注意,onSharedElementStart和转换状态捕获之间不会执行布局步骤。

对于活动转换,在onSharedElementEnd(List, List, List)中进行的任何更改都不会在布局过程中更新,应在onSharedElementStart中针对退出和返回转换进行更正。 例如,旋转或缩放不会受布局影响,如果在onSharedElementEnd(List, List, List)更改,它也必须在onSharedElementStart中重新进行重置,以更正结束状态。

Parameters
sharedElementNames List: The names of the shared elements that were accepted into the View hierarchy.
sharedElements List: The shared elements that are part of the View hierarchy.
sharedElementSnapshots List: The Views containing snap shots of the shared element from the launching Window. These elements will not be part of the scene, but will be positioned relative to the Window decor View. This list is null for Fragment Transitions.

Hooray!