public interface

MotionHelperInterface

implements Animatable, MotionLayout.TransitionListener

 androidx.constraintlayout.motion.widget.MotionHelperInterface

Subclasses:

Carousel, MotionEffect, MotionHelper

Gradle dependencies

compile group: 'androidx.constraintlayout', name: 'constraintlayout', version: '2.2.0-beta01'

  • groupId: androidx.constraintlayout
  • artifactId: constraintlayout
  • version: 2.2.0-beta01

Artifact androidx.constraintlayout:constraintlayout:2.2.0-beta01 it located at Google repository (https://maven.google.com/)

Androidx artifact mapping:

androidx.constraintlayout:constraintlayout com.android.support.constraint:constraint-layout

Overview

This defined the interface for MotionLayout helpers Helpers can be used to draw motion effects or modify motions

Summary

Methods
public booleanisDecorator()

is involved in painting

public booleanisUsedOnShow()

Notify when view is visible

public booleanisUseOnHide()

Notify when views are hidden

public voidonFinishedMotionScene(MotionLayout motionLayout)

This is called after motionLayout read motionScene and assembles all constraintSets

public voidonPostDraw(Canvas canvas)

Called after views are painted

public voidonPreDraw(Canvas canvas)

Call before views are painted

public voidonPreSetup(MotionLayout motionLayout, java.util.HashMap<View, MotionController> controllerMap)

Called after motionController is populated with start and end and keyframes.

Methods

public boolean isUsedOnShow()

Notify when view is visible

Returns:

public boolean isUseOnHide()

Notify when views are hidden

Returns:

public boolean isDecorator()

is involved in painting

Returns:

public void onPreDraw(Canvas canvas)

Call before views are painted

Parameters:

canvas:

public void onPostDraw(Canvas canvas)

Called after views are painted

Parameters:

canvas:

public void onPreSetup(MotionLayout motionLayout, java.util.HashMap<View, MotionController> controllerMap)

Called after motionController is populated with start and end and keyframes.

Parameters:

motionLayout:
controllerMap:

public void onFinishedMotionScene(MotionLayout motionLayout)

This is called after motionLayout read motionScene and assembles all constraintSets

Parameters:

motionLayout:

Source

/*
 * Copyright (C) 2020 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package androidx.constraintlayout.motion.widget;

import android.graphics.Canvas;
import android.view.View;

import java.util.HashMap;

/**
 * This defined the interface for MotionLayout helpers
 * Helpers can be used to draw motion effects or modify motions
 */
public interface MotionHelperInterface extends  Animatable, MotionLayout.TransitionListener {
    /**
     * Notify when view is visible
     * @return
     */
    boolean isUsedOnShow();

    /**
     * Notify when views are hidden
     * @return
     */
    boolean isUseOnHide();

    /**
     * is involved in painting
     * @return
     */
    boolean isDecorator();

    /**
     * Call before views are painted
     * @param canvas
     */
    void onPreDraw(Canvas canvas);

    /**
     * Called after views are painted
     * @param canvas
     */
    void onPostDraw(Canvas canvas);

    /**
     * Called after motionController is populated with start and end and keyframes.
     *
     * @param motionLayout
     * @param controllerMap
     */
    void onPreSetup(MotionLayout motionLayout, HashMap<View, MotionController> controllerMap);

    /**
     * This is called after motionLayout read motionScene and assembles all constraintSets
     * @param motionLayout
     */
    void onFinishedMotionScene(MotionLayout motionLayout);
}