FileDocCategorySizeDatePackage
VisibilityPropagation.javaAPI DocAndroid 5.1 API4182Thu Mar 12 22:22:10 GMT 2015android.transition

VisibilityPropagation

public abstract class VisibilityPropagation extends TransitionPropagation
Base class for TransitionPropagations that care about View Visibility and the center position of the View.

Fields Summary
private static final String
PROPNAME_VISIBILITY
The property key used for {@link android.view.View#getVisibility()}.
private static final String
PROPNAME_VIEW_CENTER
The property key used for the center of the View in screen coordinates. This is an int[2] with the index 0 taking the x coordinate and index 1 taking the y coordinate.
private static final String[]
VISIBILITY_PROPAGATION_VALUES
Constructors Summary
Methods Summary
public voidcaptureValues(TransitionValues values)


    
        
        View view = values.view;
        Integer visibility = (Integer) values.values.get(Visibility.PROPNAME_VISIBILITY);
        if (visibility == null) {
            visibility = view.getVisibility();
        }
        values.values.put(PROPNAME_VISIBILITY, visibility);
        int[] loc = new int[2];
        view.getLocationOnScreen(loc);
        loc[0] += Math.round(view.getTranslationX());
        loc[0] += view.getWidth() / 2;
        loc[1] += Math.round(view.getTranslationY());
        loc[1] += view.getHeight() / 2;
        values.values.put(PROPNAME_VIEW_CENTER, loc);
    
public java.lang.String[]getPropagationProperties()

        return VISIBILITY_PROPAGATION_VALUES;
    
private static intgetViewCoordinate(TransitionValues values, int coordinateIndex)

        if (values == null) {
            return -1;
        }

        int[] coordinates = (int[]) values.values.get(PROPNAME_VIEW_CENTER);
        if (coordinates == null) {
            return -1;
        }

        return coordinates[coordinateIndex];
    
public intgetViewVisibility(TransitionValues values)
Returns {@link android.view.View#getVisibility()} for the View at the time the values were captured.

param
values The TransitionValues captured at the start or end of the Transition.
return
{@link android.view.View#getVisibility()} for the View at the time the values were captured.

        if (values == null) {
            return View.GONE;
        }
        Integer visibility = (Integer) values.values.get(PROPNAME_VISIBILITY);
        if (visibility == null) {
            return View.GONE;
        }
        return visibility;
    
public intgetViewX(TransitionValues values)
Returns the View's center x coordinate, relative to the screen, at the time the values were captured.

param
values The TransitionValues captured at the start or end of the Transition.
return
the View's center x coordinate, relative to the screen, at the time the values were captured.

        return getViewCoordinate(values, 0);
    
public intgetViewY(TransitionValues values)
Returns the View's center y coordinate, relative to the screen, at the time the values were captured.

param
values The TransitionValues captured at the start or end of the Transition.
return
the View's center y coordinate, relative to the screen, at the time the values were captured.

        return getViewCoordinate(values, 1);