Package icyllis.modernui.transition
Class Slide
java.lang.Object
icyllis.modernui.transition.Transition
icyllis.modernui.transition.Visibility
icyllis.modernui.transition.Slide
- All Implemented Interfaces:
Cloneable
This transition tracks changes to the visibility of target views in the
start and end scenes and moves views in or out from one of the edges of the
scene. Visibility is determined by both the
View.setVisibility(int)
state of the view as well as whether it
is parented in the current view hierarchy. Disappearing Views are
limited as described in Visibility.onDisappear(ViewGroup, TransitionValues, int, TransitionValues, int)
.-
Nested Class Summary
Nested classes/interfaces inherited from class icyllis.modernui.transition.Visibility
Visibility.Mode
Nested classes/interfaces inherited from class icyllis.modernui.transition.Transition
Transition.EpicenterCallback, Transition.MatchOrder
-
Field Summary
Fields inherited from class icyllis.modernui.transition.Visibility
MODE_IN, MODE_OUT
Fields inherited from class icyllis.modernui.transition.Transition
MATCH_ID, MATCH_INSTANCE, MATCH_ITEM_ID, MATCH_NAME
-
Constructor Summary
ConstructorDescriptionSlide()
Constructor using the defaultGravity.BOTTOM
slide edge direction.Slide
(int slideEdge) Constructor using the provided slide edge direction. -
Method Summary
Modifier and TypeMethodDescriptionvoid
captureEndValues
(TransitionValues transitionValues) Captures the values in the end scene for the properties that this transition monitors.void
captureStartValues
(TransitionValues transitionValues) Captures the values in the start scene for the properties that this transition monitors.int
Returns the edge that Views appear and disappear from.onAppear
(ViewGroup sceneRoot, View view, TransitionValues startValues, TransitionValues endValues) The default implementation of this method returns a null Animator.onDisappear
(ViewGroup sceneRoot, View view, TransitionValues startValues, TransitionValues endValues) The default implementation of this method returns a null Animator.void
setSlideEdge
(int slideEdge) Change the edge that Views appear and disappear from.Methods inherited from class icyllis.modernui.transition.Visibility
createAnimator, getMode, getTransitionProperties, isTransitionRequired, isVisible, onAppear, onDisappear, setMode
Methods inherited from class icyllis.modernui.transition.Transition
addListener, addTarget, addTarget, addTarget, addTarget, animate, cancel, clone, createAnimators, end, excludeChildren, excludeChildren, excludeChildren, excludeTarget, excludeTarget, excludeTarget, excludeTarget, getDuration, getEpicenter, getEpicenterCallback, getInterpolator, getName, getPropagation, getStartDelay, getTargetIds, getTargetNames, getTargets, getTargetTypes, getTransitionValues, pause, removeListener, removeTarget, removeTarget, removeTarget, removeTarget, resume, runAnimators, setDuration, setEpicenterCallback, setInterpolator, setMatchOrder, setPropagation, setStartDelay, start, toString
-
Constructor Details
-
Slide
public Slide()Constructor using the defaultGravity.BOTTOM
slide edge direction. -
Slide
public Slide(int slideEdge) Constructor using the provided slide edge direction.
-
-
Method Details
-
captureStartValues
Description copied from class:Transition
Captures the values in the start scene for the properties that this transition monitors. These values are then passed as the startValues structure in a later call toTransition.createAnimator(ViewGroup, TransitionValues, TransitionValues)
. The main concern for an implementation is what the properties are that the transition cares about and what the values are for all of those properties. The start and end values will be compared later during theTransition.createAnimator(ViewGroup, TransitionValues, TransitionValues)
method to determine what, if any, animations, should be run.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.
- Overrides:
captureStartValues
in classVisibility
- Parameters:
transitionValues
- The holder for any values that the Transition wishes to store. Values are stored in thevalues
field of this TransitionValues object and are keyed from a String value. For example, to store a view's rotation value, a transition might calltransitionValues.values.put("appname:transitionname:rotation", view.getRotation())
. The target view will already be stored in the transitionValues structure when this method is called.- See Also:
-
captureEndValues
Description copied from class:Transition
Captures the values in the end scene for the properties that this transition monitors. These values are then passed as the endValues structure in a later call toTransition.createAnimator(ViewGroup, TransitionValues, TransitionValues)
. The main concern for an implementation is what the properties are that the transition cares about and what the values are for all of those properties. The start and end values will be compared later during theTransition.createAnimator(ViewGroup, TransitionValues, TransitionValues)
method to determine what, if any, animations, should be run.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.
- Overrides:
captureEndValues
in classVisibility
- Parameters:
transitionValues
- The holder for any values that the Transition wishes to store. Values are stored in thevalues
field of this TransitionValues object and are keyed from a String value. For example, to store a view's rotation value, a transition might calltransitionValues.values.put("appname:transitionname:rotation", view.getRotation())
. The target view will already be stored in the transitionValues structure when this method is called.- See Also:
-
setSlideEdge
public void setSlideEdge(int slideEdge) Change the edge that Views appear and disappear from.- Parameters:
slideEdge
- The edge of the scene to use for Views appearing and disappearing. One ofGravity.LEFT
,Gravity.TOP
,Gravity.RIGHT
,Gravity.BOTTOM
,Gravity.START
,Gravity.END
.
-
getSlideEdge
public int getSlideEdge()Returns the edge that Views appear and disappear from.- Returns:
- the edge of the scene to use for Views appearing and disappearing. One of
Gravity.LEFT
,Gravity.TOP
,Gravity.RIGHT
,Gravity.BOTTOM
,Gravity.START
,Gravity.END
.
-
onAppear
@Nullable public Animator onAppear(ViewGroup sceneRoot, View view, TransitionValues startValues, TransitionValues endValues) Description copied from class:Visibility
The default implementation of this method returns a null Animator. Subclasses should override this method to make targets appear with the desired transition. The method should only be called fromVisibility.onAppear(ViewGroup, TransitionValues, int, TransitionValues, int)
.- Overrides:
onAppear
in classVisibility
- Parameters:
sceneRoot
- The root of the transition hierarchyview
- The View to make appear. This will be in the target scene's View hierarchy and will be VISIBLE.startValues
- The target values in the start sceneendValues
- The target values in the end scene- Returns:
- An 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.
-
onDisappear
@Nullable public Animator onDisappear(ViewGroup sceneRoot, View view, TransitionValues startValues, TransitionValues endValues) Description copied from class:Visibility
The default implementation of this method returns a null Animator. Subclasses should override this method to make targets disappear with the desired transition. The method should only be called fromVisibility.onDisappear(ViewGroup, TransitionValues, int, TransitionValues, int)
.- Overrides:
onDisappear
in classVisibility
- Parameters:
sceneRoot
- The root of the transition hierarchyview
- The View to make disappear. This will be in the target scene's View hierarchy and will be VISIBLE.startValues
- The target values in the start sceneendValues
- The target values in the end scene- Returns:
- An 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.
-