# CurvingLayoutCallback

Artifact: [androidx.wear:wear](https://developer.android.com/jetpack/androidx/releases/wear) [View Source](https://cs.android.com/search?q=file:androidx/wear/widget/CurvingLayoutCallback.java+class:androidx.wear.widget.CurvingLayoutCallback) Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/wear#1.1.0)

*** ** * ** ***


```
public class CurvingLayoutCallback extends WearableLinearLayoutManager.LayoutCallback
```

<br />

|---|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object.html) |||
| ↳ | [androidx.wear.widget.WearableLinearLayoutManager.LayoutCallback](https://developer.android.com/reference/androidx/wear/widget/WearableLinearLayoutManager.LayoutCallback) ||
|   | ↳ | [androidx.wear.widget.CurvingLayoutCallback](https://developer.android.com/reference/androidx/wear/widget/CurvingLayoutCallback) |

*** ** * ** ***

An implementation of the `https://developer.android.com/reference/androidx/wear/widget/WearableLinearLayoutManager.LayoutCallback` aligning the children of the associated `https://developer.android.com/reference/androidx/wear/widget/WearableRecyclerView` along a pre-defined vertical curve.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/wear/widget/CurvingLayoutCallback#CurvingLayoutCallback(android.content.Context)(https://developer.android.com/reference/android/content/Context.html context)` |

| ### Public methods |
|---|---|
| `void` | `https://developer.android.com/reference/androidx/wear/widget/CurvingLayoutCallback#adjustAnchorOffsetXY(android.view.View,float[])(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. |
| `void` | `https://developer.android.com/reference/androidx/wear/widget/CurvingLayoutCallback#onLayoutFinished(android.view.View,androidx.recyclerview.widget.RecyclerView)(https://developer.android.com/reference/android/view/View.html child, https://developer.android.com/reference/androidx/recyclerview/widget/RecyclerView parent)` Override this method to implement custom child layout behavior on scroll. |

## Public constructors

### CurvingLayoutCallback

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/wear#1.1.0)

```
public CurvingLayoutCallback(Context context)
```

## Public methods

### adjustAnchorOffsetXY

Added in [1.1.0](https://developer.android.com/jetpack/androidx/releases/wear#1.1.0)

```
public void adjustAnchorOffsetXY(View child, 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 |
|---|---|
| `https://developer.android.com/reference/android/view/View.html child` | The child view to which the anchor coordinates will apply. |
| `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

```
public void onLayoutFinished(View child, 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 |
|---|---|
| `https://developer.android.com/reference/android/view/View.html child` | the current child to be affected. |
| `https://developer.android.com/reference/androidx/recyclerview/widget/RecyclerView parent` | the `https://developer.android.com/reference/androidx/recyclerview/widget/RecyclerView` parent that this class is attached to. |