public class Carousel extends MotionHelper


Carousel works within a MotionLayout to provide a simple recycler like pattern. Based on a series of Transitions and callback to give you the ability to swap views.

Summary

Nested types

public interface Carousel.Adapter

Adapter for a Carousel

Constants

static final int
static final int

Public constructors

Carousel(Context context)
Carousel(Context context, AttributeSet attrs)
Carousel(Context context, AttributeSet attrs, int defStyleAttr)

Public methods

int

Returns the number of elements in the Carousel

int

Returns the current index

boolean

Returns whether it's a infinite Carousel

void
jumpToIndex(int index)

Jump to the given index without any animation

void
onTransitionChange(
    MotionLayout motionLayout,
    int startId,
    int endId,
    float progress
)

Called when a drawer's position changes.

void
onTransitionCompleted(MotionLayout motionLayout, int currentId)

Called when a drawer has settled completely a state.

void

Rebuilds the scene

void
void
setInfinite(boolean infiniteCarousel)

A setter method for whether it should be a infinite Carousel.

void
transitionToIndex(int index, int delay)

Transition the carousel to the given index, animating until we reach it.

Protected methods

void
void

Inherited Constants

From androidx.constraintlayout.widget.ConstraintHelper
static final String
CHILD_TAG = "CONSTRAINT_LAYOUT_HELPER_CHILD"
From android.view.View
static final int
static final int
static final int
static final int
static final int
static final int
static final Property<ViewFloat>
static final int
static final String
AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DATE = "creditCardExpirationDate"
static final String
AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DAY = "creditCardExpirationDay"
static final String
AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_MONTH = "creditCardExpirationMonth"
static final String
AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_YEAR = "creditCardExpirationYear"
static final String
static final String
AUTOFILL_HINT_CREDIT_CARD_SECURITY_CODE = "creditCardSecurityCode"
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int

This field is deprecated.

static final int

This field is deprecated.

static final int

This field is deprecated.

static final int[]
static final int[]
static final int[]
static final int[]
static final int[]
static final int[]
static final int[]
static final int[]
static final int[]
static final int
static final int
static final int
static final int
static final int
static final int
static final int[]
static final int[]
static final int[]
static final int[]
static final int
static final int
static final int
static final int
static final int
static final int
static final int
GONE = 8
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
KEEP_SCREEN_ON = 67108864
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
NO_ID = -1
static final int
static final int
static final int
static final int[]
static final int[]
static final int[]
static final int[]
static final int[]
static final int[]
static final int[]
static final int[]
static final int[]
static final int[]
static final int[]
static final int[]
static final int[]
static final int[]
static final int[]
static final int[]
static final float
static final float
static final float
static final float
static final float
static final Property<ViewFloat>
static final Property<ViewFloat>
static final Property<ViewFloat>
static final Property<ViewFloat>
static final Property<ViewFloat>
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int[]
static final int[]
static final int
static final int

This field is deprecated.

static final int

This field is deprecated.

static final int

This field is deprecated.

static final int

This field is deprecated.

static final int

This field is deprecated.

static final int

This field is deprecated.

static final int

This field is deprecated.

static final int

This field is deprecated.

static final int

This field is deprecated.

static final int

This field is deprecated.

static final int

This field is deprecated.

static final int

This field is deprecated.

static final int

This field is deprecated.

static final int

This field is deprecated.

static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final Property<ViewFloat>
static final Property<ViewFloat>
static final Property<ViewFloat>
static final String
VIEW_LOG_TAG = "View"
static final int
static final int[]
static final Property<ViewFloat>
static final Property<ViewFloat>
static final Property<ViewFloat>

Inherited methods

From androidx.constraintlayout.widget.ConstraintHelper
void
addView(View view)

Add a view to the helper.

void

hook for helpers to apply parameters in MotionLayout

void
void
void
boolean
containsId(int id)

does id table contain the id

int[]

Helpers typically reference a collection of ids

View[]
int
indexFromId(int id)

find the position of an id

static boolean
void
loadParameters(
    ConstraintSet.Constraint constraint,
    HelperWidget child,
    ConstraintLayout.LayoutParams layoutParams,
    SparseArray<ConstraintWidget> mapIdToWidget
)

Load the parameters

void
void
onMeasure(int widthMeasureSpec, int heightMeasureSpec)
int

Remove a given view from the helper.

void
resolveRtl(ConstraintWidget widget, boolean isRtl)

resolve the RTL

void
setIds(String idList)
void
void
setReferencedIds(int[] ids)

Helpers typically reference a collection of ids

void
setTag(int key, Object tag)
void

update after constraints are resolved

void

Allows a helper a chance to update its internal object post layout or set up connections for the pointed elements

void
void

called before the draw

void

Allows a helper a chance to update its internal object pre layout or set up connections for the pointed elements

void
updatePreLayout(
    ConstraintWidgetContainer container,
    Helper helper,
    SparseArray<ConstraintWidget> map
)

called before solver resolution

void

Allows a helper to replace the default ConstraintWidget in LayoutParams by its own subclass

From androidx.constraintlayout.motion.widget.MotionHelper
float

get the progress

void
boolean

is involved in painting

boolean
boolean
void

This is called after motionLayout read motionScene and assembles all constraintSets

void

Called after views are painted

void
onPreDraw(Canvas canvas)

Call before views are painted

void
onPreSetup(
    MotionLayout motionLayout,
    HashMap<ViewMotionController> controllerMap
)

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

void
onTransitionStarted(MotionLayout motionLayout, int startId, int endId)

Called when a drawer is about to start a transition.

void
onTransitionTrigger(
    MotionLayout motionLayout,
    int triggerId,
    boolean positive,
    float progress
)

Call when a trigger is fired

void
setProgress(float progress)

Set the progress

void
setProgress(View view, float progress)
From androidx.constraintlayout.motion.widget.MotionHelperInterface
abstract void
onPreSetup(
    MotionLayout motionLayout,
    HashMap<ViewMotionController> controllerMap
)

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

From androidx.constraintlayout.motion.widget.MotionLayout.TransitionListener
abstract void
onTransitionChange(
    MotionLayout motionLayout,
    int startId,
    int endId,
    float progress
)

Called when a drawer's position changes.

abstract void
onTransitionStarted(MotionLayout motionLayout, int startId, int endId)

Called when a drawer is about to start a transition.

abstract void
onTransitionTrigger(
    MotionLayout motionLayout,
    int triggerId,
    boolean positive,
    float progress
)

Call when a trigger is fired

From android.view.View
void
void
addExtraDataToAccessibilityNodeInfo(
    AccessibilityNodeInfo info,
    String extraDataKey,
    Bundle arguments
)
void
addFocusables(ArrayList<View> views, int direction)
void
void
void
void
void
ViewPropertyAnimator
void

This method is deprecated.

void
boolean
void
void

This method is deprecated.

void
boolean
boolean
boolean
boolean
boolean
canScrollHorizontally(int direction)
boolean
canScrollVertically(int direction)
final void
void
final void
boolean
void
void
void
void
static int
combineMeasuredStates(int curState, int newState)
int
int
int
void
WindowInsets
int
int
int
AccessibilityNodeInfo
void
void

This method is deprecated.

WindowInsets
boolean
void
void
dispatchCreateViewTranslationRequest(
    Map<AutofillId, long[]> viewIds,
    int[] supportedFormats,
    TranslationCapability capability,
    List<ViewTranslationRequest> requests
)
void
boolean
void
void
dispatchDrawableHotspotChanged(float x, float y)
void
boolean
boolean
boolean
boolean
boolean
boolean
boolean
boolean
dispatchNestedFling(float velocityX, float velocityY, boolean consumed)
boolean
dispatchNestedPreFling(float velocityX, float velocityY)
boolean
dispatchNestedPrePerformAccessibilityAction(
    int action,
    Bundle arguments
)
boolean
dispatchNestedPreScroll(
    int dx,
    int dy,
    int[] consumed,
    int[] offsetInWindow
)
boolean
dispatchNestedScroll(
    int dxConsumed,
    int dyConsumed,
    int dxUnconsumed,
    int dyUnconsumed,
    int[] offsetInWindow
)
void
dispatchPointerCaptureChanged(boolean hasCapture)
boolean
void
void
void
void
void
dispatchScrollCaptureSearch(
    Rect localVisibleRect,
    Point windowOffset,
    Consumer<ScrollCaptureTarget> targets
)
void
dispatchSetActivated(boolean activated)
void
dispatchSetPressed(boolean pressed)
void
dispatchSetSelected(boolean selected)
void
void

This method is deprecated.

boolean
boolean
boolean
dispatchUnhandledMove(View focused, int direction)
void
dispatchVisibilityChanged(View changedView, int visibility)
void
dispatchWindowFocusChanged(boolean hasFocus)
void
void
WindowInsets
WindowInsetsAnimation.Bounds
void

This method is deprecated.

void
void
draw(Canvas canvas)
void
drawableHotspotChanged(float x, float y)
void
View
final OnBackInvokedDispatcher
final T
<T extends View> findViewById(int id)
final T
<T extends View> findViewWithTag(Object tag)
void
findViewsWithText(
    ArrayList<View> outViews,
    CharSequence searched,
    int flags
)
boolean

This method is deprecated.

View
focusSearch(int direction)
void
forceHasOverlappingRendering(boolean hasOverlappingRendering)
void