# CompositePageTransformer

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

*** ** * ** ***


```
public final class CompositePageTransformer implements ViewPager2.PageTransformer
```

<br />

*** ** * ** ***

Allows for combining multiple `https://developer.android.com/reference/androidx/viewpager2/widget/ViewPager2.PageTransformer` objects.

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/viewpager2/widget/ViewPager2#setPageTransformer(androidx.viewpager2.widget.ViewPager2.PageTransformer)` |   |
| `https://developer.android.com/reference/androidx/viewpager2/widget/MarginPageTransformer` |   |

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/viewpager2/widget/CompositePageTransformer#CompositePageTransformer()()` |

| ### Public methods |
|---|---|
| `void` | `https://developer.android.com/reference/androidx/viewpager2/widget/CompositePageTransformer#addTransformer(androidx.viewpager2.widget.ViewPager2.PageTransformer)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/viewpager2/widget/ViewPager2.PageTransformer transformer)` Adds a page transformer to the list. |
| `void` | `https://developer.android.com/reference/androidx/viewpager2/widget/CompositePageTransformer#removeTransformer(androidx.viewpager2.widget.ViewPager2.PageTransformer)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/viewpager2/widget/ViewPager2.PageTransformer transformer)` Removes a page transformer from the list. |
| `void` | `https://developer.android.com/reference/androidx/viewpager2/widget/CompositePageTransformer#transformPage(android.view.View,float)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/view/View.html page, float position)` Apply a property transformation to the given page. |

## Public constructors

### CompositePageTransformer

Added in 1.0.0

```
public CompositePageTransformer()
```

## Public methods

### addTransformer

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

```
public void addTransformer(@NonNull ViewPager2.PageTransformer transformer)
```

Adds a page transformer to the list.

Transformers will be executed in the order that they were added.

### removeTransformer

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

```
public void removeTransformer(@NonNull ViewPager2.PageTransformer transformer)
```

Removes a page transformer from the list.

### transformPage

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

```
public void transformPage(@NonNull View page, float position)
```

Apply a property transformation to the given page.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/view/View.html page` | Apply the transformation to this page |
| `float position` | Position of page relative to the current front-and-center position of the pager. 0 is front and center. 1 is one full page position to the right, and -2 is two pages to the left. Minimum / maximum observed values depend on how many pages we keep attached, which depends on offscreenPageLimit. |

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/viewpager2/widget/ViewPager2#setOffscreenPageLimit(int)` |   |