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
child
View: The child view to which the anchor coordinates will apply.
anchorOffsetXY
float: 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).
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
child
View: the current child to be affected.
parent
RecyclerView: the RecyclerView parent that this class is attached to.
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-02-10 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-02-10 UTC."],[],[],null,["# CurvingLayoutCallback\n\nadded in [version 26.1.0](/topic/libraries/support-library/revisions) \nbelongs to Maven artifact com.android.support:wear:28.0.0-alpha1 \nSummary: [Ctors](#pubctors) \\| [Methods](#pubmethods) \\| [Inherited Methods](#inhmethods) \\| [\\[Expand All\\]](#) \n\nCurvingLayoutCallback\n=====================\n\n| This package is part of the Android [support library](/topic/libraries/support-library) which is no longer maintained. The support library has been superseded by [AndroidX](/jetpack/androidx) which is part of [Jetpack](/jetpack). We recommend using the AndroidX libraries in all new projects. You should also consider [migrating](/jetpack/androidx/migrate) existing projects to AndroidX. To find the AndroidX class that maps to this deprecated class, see the AndroidX support library [class\n| mappings](/jetpack/androidx/migrate/class-mappings).\n\n\n`\npublic\n\n\nclass\nCurvingLayoutCallback\n`\n\n\n`\n\n\n`\n\n`\n\nextends `[WearableLinearLayoutManager.LayoutCallback](/reference/android/support/wear/widget/WearableLinearLayoutManager.LayoutCallback)`\n\n\n`\n\n`\n\n\n`\n\n|---|---|---------------------------------------------------|\n| java.lang.Object |||\n| ↳ | [android.support.wear.widget.WearableLinearLayoutManager.LayoutCallback](/reference/android/support/wear/widget/WearableLinearLayoutManager.LayoutCallback) ||\n| | ↳ | android.support.wear.widget.CurvingLayoutCallback |\n\n\u003cbr /\u003e\n\n*** ** * ** ***\n\nAn implementation of the [WearableLinearLayoutManager.LayoutCallback](/reference/android/support/wear/widget/WearableLinearLayoutManager.LayoutCallback) aligning the children\nof the associated [WearableRecyclerView](/reference/android/support/wear/widget/WearableRecyclerView) along a pre-defined vertical curve.\n\nSummary\n-------\n\n| ### Public constructors ||\n|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|\n| ` `[CurvingLayoutCallback](/reference/android/support/wear/widget/CurvingLayoutCallback#CurvingLayoutCallback(android.content.Context))`(`[Context](https://developer.android.com/reference/android/content/Context.html)` context) ` |\n\n| ### Public methods ||\n|---------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| ` void` | ` `[adjustAnchorOffsetXY](/reference/android/support/wear/widget/CurvingLayoutCallback#adjustAnchorOffsetXY(android.view.View, float[]))`(`[View](https://developer.android.com/reference/android/view/View.html)` child, float[] anchorOffsetXY) ` Override this method if you wish to adjust the anchor coordinates for each child view during a layout pass. |\n| ` void` | ` `[onLayoutFinished](/reference/android/support/wear/widget/CurvingLayoutCallback#onLayoutFinished(android.view.View, android.support.v7.widget.RecyclerView))`(`[View](https://developer.android.com/reference/android/view/View.html)` child, `[RecyclerView](/reference/android/support/v7/widget/RecyclerView)` parent) ` Override this method to implement custom child layout behavior on scroll. |\n\n| ### Inherited methods |\n|-----------------------|---|\n| From class ` `[android.support.wear.widget.WearableLinearLayoutManager.LayoutCallback](/reference/android/support/wear/widget/WearableLinearLayoutManager.LayoutCallback)` ` |------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ` abstract void` | ` `[onLayoutFinished](/reference/android/support/wear/widget/WearableLinearLayoutManager.LayoutCallback#onLayoutFinished(android.view.View, android.support.v7.widget.RecyclerView))`(`[View](https://developer.android.com/reference/android/view/View.html)` child, `[RecyclerView](/reference/android/support/v7/widget/RecyclerView)` parent) ` Override this method to implement custom child layout behavior on scroll. | ||\n| From class ` java.lang.Object ` |-------------------|-------------------------------| | ` Object` | ` clone() ` | | ` boolean` | ` equals(Object arg0) ` | | ` void` | ` finalize() ` | | ` final Class\u003c?\u003e` | ` getClass() ` | | ` int` | ` hashCode() ` | | ` final void` | ` notify() ` | | ` final void` | ` notifyAll() ` | | ` String` | ` toString() ` | | ` final void` | ` wait(long arg0, int arg1) ` | | ` final void` | ` wait(long arg0) ` | | ` final void` | ` wait() ` | ||\n\nPublic constructors\n-------------------\n\n### CurvingLayoutCallback\n\nadded in [version 26.1.0](/topic/libraries/support-library/revisions) \n\n```\nCurvingLayoutCallback (Context context)\n```\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Parameters ||\n|-----------|------------------|\n| `context` | `Context` \u003cbr /\u003e |\n\nPublic methods\n--------------\n\n### adjustAnchorOffsetXY\n\nadded in [version 26.1.0](/topic/libraries/support-library/revisions) \n\n```\nvoid adjustAnchorOffsetXY (View child, \n float[] anchorOffsetXY)\n```\n\nOverride this method if you wish to adjust the anchor coordinates for each child view\nduring a layout pass. In the override set the new desired anchor coordinates in\nthe provided array. The coordinates should be provided in relation to the child view.\n\n\u003cbr /\u003e\n\n| Parameters ||\n|------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `child` | `View`: The child view to which the anchor coordinates will apply. \u003cbr /\u003e |\n| `anchorOffsetXY` | `float`: 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). \u003cbr /\u003e |\n\n### onLayoutFinished\n\nadded in [version 26.1.0](/topic/libraries/support-library/revisions) \n\n```\nvoid onLayoutFinished (View child, \n RecyclerView parent)\n```\n\nOverride this method to implement custom child layout behavior on scroll. It is called\nat the end of each layout pass of the view (including scrolling) and enables you to\nmodify any property of the child view. Examples include scaling the children based on\ntheir distance from the center of the parent, or changing the translation of the children\nto create an illusion of the path they are moving along.\n\n\u003cbr /\u003e\n\n| Parameters ||\n|----------|-------------------------------------------------------------------------------------------------------------------------------------|\n| `child` | `View`: the current child to be affected. \u003cbr /\u003e |\n| `parent` | `RecyclerView`: the [RecyclerView](/reference/android/support/v7/widget/RecyclerView) parent that this class is attached to. \u003cbr /\u003e |\n\n-\n\n Interfaces\n ----------\n\n - [CircularProgressLayout.OnTimerFinishedListener](/reference/android/support/wear/widget/CircularProgressLayout.OnTimerFinishedListener)\n-\n\n Classes\n -------\n\n - [BoxInsetLayout](/reference/android/support/wear/widget/BoxInsetLayout)\n - [BoxInsetLayout.LayoutParams](/reference/android/support/wear/widget/BoxInsetLayout.LayoutParams)\n - [CircularProgressLayout](/reference/android/support/wear/widget/CircularProgressLayout)\n - [CurvingLayoutCallback](/reference/android/support/wear/widget/CurvingLayoutCallback)\n - [RoundedDrawable](/reference/android/support/wear/widget/RoundedDrawable)\n - [SwipeDismissFrameLayout](/reference/android/support/wear/widget/SwipeDismissFrameLayout)\n - [SwipeDismissFrameLayout.Callback](/reference/android/support/wear/widget/SwipeDismissFrameLayout.Callback)\n - [WearableLinearLayoutManager](/reference/android/support/wear/widget/WearableLinearLayoutManager)\n - [WearableLinearLayoutManager.LayoutCallback](/reference/android/support/wear/widget/WearableLinearLayoutManager.LayoutCallback)\n - [WearableRecyclerView](/reference/android/support/wear/widget/WearableRecyclerView)"]]