public class ChangeScroll
extends Transition
java.lang.Object | ||
↳ | android.transition.Transition | |
↳ | android.transition.ChangeScroll |
此转换捕获场景更改前后的目标的滚动属性,并为所有更改生成动画。
Inherited XML attributes |
|
---|---|
From class android.transition.Transition
|
Inherited constants |
---|
From class android.transition.Transition
|
Public constructors |
|
---|---|
ChangeScroll() |
|
ChangeScroll(Context context, AttributeSet attrs) |
Public methods |
|
---|---|
void |
captureEndValues(TransitionValues transitionValues) 在结束场景中捕获此转换监视的属性的值。 |
void |
captureStartValues(TransitionValues transitionValues) 捕获此转场监视的属性在开始场景中的值。 |
Animator |
createAnimator(ViewGroup sceneRoot, TransitionValues startValues, TransitionValues endValues) 此方法创建一个动画,该动画将为此转换运行,因为前面为start和end场景捕获的startValues和endValues结构中的信息。 |
Inherited methods |
|
---|---|
From class android.transition.Transition
|
|
From class java.lang.Object
|
ChangeScroll (Context context, AttributeSet attrs)
Parameters | |
---|---|
context |
Context
|
attrs |
AttributeSet
|
void captureEndValues (TransitionValues transitionValues)
在结束场景中捕获此转换监视的属性的值。 然后这些值在稍后调用createAnimator(ViewGroup, TransitionValues, TransitionValues)
作为endValues结构createAnimator(ViewGroup, TransitionValues, TransitionValues)
。 实施的主要关注点是过渡期关注的属性以及所有这些属性的价值。 开始和结束值将在createAnimator(android.view.ViewGroup, TransitionValues, TransitionValues)
方法后期进行比较,以确定应该运行哪些动画(如果有的话)。
Subclasses must implement this method. The method should only be called by the transition system; it is not intended to be called from external classes.
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. |
void captureStartValues (TransitionValues transitionValues)
捕获此转场监视的属性在开始场景中的值。 然后这些值作为startValues结构在以后的调用中传递给createAnimator(ViewGroup, TransitionValues, TransitionValues)
。 实施的主要关注点是过渡期关注的属性以及所有这些属性的价值。 开始和结束值将在createAnimator(android.view.ViewGroup, TransitionValues, TransitionValues)
方法后期进行比较,以确定应该运行哪些动画(如果有的话)。
Subclasses must implement this method. The method should only be called by the transition system; it is not intended to be called from external classes.
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. |
Animator createAnimator (ViewGroup sceneRoot, TransitionValues startValues, TransitionValues endValues)
此方法创建一个动画,该动画将为此转换运行,因为前面为start和end场景捕获的startValues和endValues结构中的信息。 Transition的子类应该覆盖此方法。 该方法只能由过渡系统调用; 它不打算从外部类中调用。
该方法由transition的父级(一直到层次结构中最高级的Transition)调用,并使用sceneRoot和start / end值进行调用,以便转换可能需要设置初始目标值并构建适当的动画。 例如,如果总体Transition是一个由多个子级转换组成的TransitionSet
,那么一些子级转换可能希望在整个Transition转换开始之前在目标视图上设置初始值,以使它们处于延迟的适当状态在开始和孩子之间的过渡开始时间。 例如,淡入一个项目的转换可能希望将开始的alpha值设置为0,以避免在实际开始动画之前的转换之前其闪烁。 这是必要的,因为触发Transition的场景变化将自动设置所有目标视图上的结束场景,因此想要从不同值开始动画的Transition应该在从此方法返回之前设置该值。
另外,Transition可以执行逻辑来确定是否需要在给定目标上运行转换以及开始/结束值。 例如,调整屏幕上对象大小的过渡可能希望避免在开始场景或结束场景中不存在的视图运行。
如果有一个动画创建并从这个方法返回,转换机制会将任何适用的持续时间,startDelay和插补器应用到该动画并启动它。 返回值null
表示不应该运行动画。 默认实现返回null。
该方法针对每个适用的目标对象进行调用,该对象存储在 view
字段中。
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 |
A Animator to be started at the appropriate time in the overall transition for this scene change. A null value means no animation should be run. |