Most visited

Recently visited

Added in API level 21

ChangeImageTransform

public class ChangeImageTransform
extends Transition

java.lang.Object
   ↳ android.transition.Transition
     ↳ android.transition.ChangeImageTransform


这个Transition在场景改变之前和之后捕获一个ImageView的矩阵,并在转换过程中为其生成动画。

与ChangeBounds结合使用时,ChangeImageTransform允许更改大小,形状或 ImageView.ScaleType ImageViews平滑地动画内容。

Summary

Inherited XML attributes

From class android.transition.Transition

Inherited constants

From class android.transition.Transition

Public constructors

ChangeImageTransform()
ChangeImageTransform(Context context, AttributeSet attrs)

Public methods

void captureEndValues(TransitionValues transitionValues)

在结束场景中捕获此转换监视的属性的值。

void captureStartValues(TransitionValues transitionValues)

捕获此转场监视的属性在开始场景中的值。

Animator createAnimator(ViewGroup sceneRoot, TransitionValues startValues, TransitionValues endValues)

为ImageView移动,更改尺寸和/或更改 ImageView.ScaleType创建Animator。

String[] getTransitionProperties()

返回存储在 TransitionValues对象中的属性名称集,该对象传递给 captureStartValues(TransitionValues) ,此过渡对于取消重叠动画的目的非常关注。

Inherited methods

From class android.transition.Transition
From class java.lang.Object

Public constructors

ChangeImageTransform

Added in API level 21
ChangeImageTransform ()

ChangeImageTransform

Added in API level 21
ChangeImageTransform (Context context, 
                AttributeSet attrs)

Parameters
context Context
attrs AttributeSet

Public methods

captureEndValues

Added in API level 21
void captureEndValues (TransitionValues transitionValues)

在结束场景中捕获此转换监视的属性的值。 然后这些值作为endValues结构传递给createAnimator(ViewGroup, TransitionValues, TransitionValues) 实施的主要关注点是过渡期关注的属性以及所有这些属性的价值。 开始和结束值将在createAnimator(android.view.ViewGroup, TransitionValues, TransitionValues)方法后期进行比较,以确定应该运行哪些动画(如果有的话)。

子类必须实现此方法。 该方法只能由过渡系统调用; 它不打算从外部类中调用。

Parameters
transitionValues TransitionValues: The holder for any values that the Transition wishes to store. Values are stored in the values field of this TransitionValues object and are keyed from a String value. For example, to store a view's rotation value, a transition might call transitionValues.values.put("appname:transitionname:rotation", view.getRotation()). The target view will already be stored in the transitionValues structure when this method is called.

captureStartValues

Added in API level 21
void captureStartValues (TransitionValues transitionValues)

捕获此转场监视的属性在开始场景中的值。 这些值然后在以后调用createAnimator(ViewGroup, TransitionValues, TransitionValues)作为startValues结构createAnimator(ViewGroup, TransitionValues, TransitionValues) 实施的主要关注点是过渡期关注的属性以及所有这些属性的价值。 开始和结束值将在createAnimator(android.view.ViewGroup, TransitionValues, TransitionValues)方法后期进行比较以确定应该运行哪些动画(如果有的话)。

子类必须实现此方法。 该方法只能由过渡系统调用; 它不打算从外部类中调用。

Parameters
transitionValues TransitionValues: The holder for any values that the Transition wishes to store. Values are stored in the values field of this TransitionValues object and are keyed from a String value. For example, to store a view's rotation value, a transition might call transitionValues.values.put("appname:transitionname:rotation", view.getRotation()). The target view will already be stored in the transitionValues structure when this method is called.

createAnimator

Added in API level 21
Animator createAnimator (ViewGroup sceneRoot, 
                TransitionValues startValues, 
                TransitionValues endValues)

为ImageView移动,更改尺寸和/或更改 ImageView.ScaleType创建Animator。

Parameters
sceneRoot ViewGroup: The root of the transition hierarchy.
startValues TransitionValues: The values for a specific target in the start scene.
endValues TransitionValues: The values for the target in the end scene.
Returns
Animator An Animator to move an ImageView or null if the View is not an ImageView, the Drawable changed, the View is not VISIBLE, or there was no change.

getTransitionProperties

Added in API level 21
String[] getTransitionProperties ()

返回传递到captureStartValues(TransitionValues)中的TransitionValues对象中存储的属性名称captureStartValues(TransitionValues) ,此对象用于取消重叠动画。 当在给定场景根上开始任何转场时,将检查当前在同一场景根上运行的所有转场,以查看它们基于其动画的属性是否与新转场中相同属性的最终值一致。 如果最终值不相等,则旧的动画将被取消,因为新的转换将为这些新值开始新的动画。 如果值相等,则允许旧动画继续,并且不会为该转换启动新的动画。

过渡不需要重写此方法。 但是,如果不这样做,则意味着上一段中所述的取消逻辑将跳过该转换,可能会导致人为因素,因为旧转换和同一目标上的新转换并行运行,将视图动画化为可能不同的最终值。

Returns
String[] An array of property names as described in the class documentation for TransitionValues. The default implementation returns null.

Hooray!