CurvingLayoutCallback

public class CurvingLayoutCallback extends WearableLinearLayoutManager.LayoutCallback


An implementation of the WearableLinearLayoutManager.LayoutCallback aligning the children of the associated WearableRecyclerView along a pre-defined vertical curve.

Summary

Public constructors

Public methods

@NonNull void
adjustAnchorOffsetXY(
    @NonNull View child,
    @NonNull Array<@NonNull float> anchorOffsetXY
)

Override this method if you wish to adjust the anchor coordinates for each child view during a layout pass.

@Override @NonNull void

Override this method to implement custom child layout behavior on scroll.

Public constructors

CurvingLayoutCallback

public CurvingLayoutCallback(@NonNull Context context)

Public methods

adjustAnchorOffsetXY

@NonNull
public void adjustAnchorOffsetXY(
    @NonNull View child,
    @NonNull Array<@NonNull float> anchorOffsetXY
)

Override this method if you wish to adjust the anchor coordinates for each child view during a layout pass. In the override set the new desired anchor coordinates in the provided array. The coordinates should be provided in relation to the child view.

Parameters
@NonNull View child

The child view to which the anchor coordinates will apply.

@NonNull Array<@NonNull float> anchorOffsetXY

The anchor coordinates for the provided child view, by default set to a pre-defined constant on the horizontal axis and half of the child height on the vertical axis (vertical center).

onLayoutFinished

@Override
@NonNull
public @Override void onLayoutFinished(@NonNull View child, @NonNull RecyclerView parent)

Override this method to implement custom child layout behavior on scroll. It is called at the end of each layout pass of the view (including scrolling) and enables you to modify any property of the child view. Examples include scaling the children based on their distance from the center of the parent, or changing the translation of the children to create an illusion of the path they are moving along.

Parameters
@NonNull View child

the current child to be affected.

@NonNull RecyclerView parent

the RecyclerView parent that this class is attached to.