public abstract class SharedElementCallback
extends Object
java.lang.Object | |
↳ | android.support.v4.app.SharedElementCallback |
监听器在setEnterSharedElementCallback(SharedElementCallback)
和setExitSharedElementCallback(SharedElementCallback)
提供,用于监视活动转换。 这些事件可以用来自定义活动转换行为。
Public constructors |
|
---|---|
SharedElementCallback() |
Inherited methods |
|
---|---|
From class java.lang.Object
|
SharedElementCallback ()
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) . |
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. |
void onMapSharedElements (List<String> names, Map<String, View> 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. |
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. |
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. |
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. |