# CompositePageTransformer

# 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)

*** ** * ** ***

Kotlin\|[Java](https://developer.android.com/reference/androidx/viewpager2/widget/CompositePageTransformer "View this page in Java")

<br />

```
class CompositePageTransformer : ViewPager2.PageTransformer
```

<br />

*** ** * ** ***

Allows for combining multiple[PageTransformer](https://developer.android.com/reference/kotlin/androidx/viewpager2/widget/ViewPager2.PageTransformer)objects.  

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

## Summary

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

|                             ### Public functions                              |
|-------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html) | [addTransformer](https://developer.android.com/reference/kotlin/androidx/viewpager2/widget/CompositePageTransformer#addTransformer(androidx.viewpager2.widget.ViewPager2.PageTransformer))`(transformer: `[ViewPager2.PageTransformer](https://developer.android.com/reference/kotlin/androidx/viewpager2/widget/ViewPager2.PageTransformer)`)` Adds a page transformer to the list.            |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html) | [removeTransformer](https://developer.android.com/reference/kotlin/androidx/viewpager2/widget/CompositePageTransformer#removeTransformer(androidx.viewpager2.widget.ViewPager2.PageTransformer))`(transformer: `[ViewPager2.PageTransformer](https://developer.android.com/reference/kotlin/androidx/viewpager2/widget/ViewPager2.PageTransformer)`)` Removes a page transformer from the list. |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html) | [transformPage](https://developer.android.com/reference/kotlin/androidx/viewpager2/widget/CompositePageTransformer#transformPage(android.view.View,float))`(page: `[View](https://developer.android.com/reference/android/view/View.html)`, position: `[Float](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html)`)` Apply a property transformation to the given page.    |

## Public constructors

### CompositePageTransformer

Added in 1.0.0  

```
CompositePageTransformer()
```  

## Public functions

### addTransformer

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

```
fun addTransformer(transformer: ViewPager2.PageTransformer): Unit
```

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)  

```
fun removeTransformer(transformer: ViewPager2.PageTransformer): Unit
```

Removes a page transformer from the list.  

### transformPage

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

```
fun transformPage(page: View, position: Float): Unit
```

Apply a property transformation to the given page.  

|                                         Parameters                                          |
|---------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `page: `[View](https://developer.android.com/reference/android/view/View.html)              | Apply the transformation to this page                                                                                                                                                                                                                                                                |
| `position: `[Float](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html) | 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                                                                 |
|------------------------------------------------------------------------------------------------------------------------------------------|---|
| [setOffscreenPageLimit](https://developer.android.com/reference/kotlin/androidx/viewpager2/widget/ViewPager2#setOffscreenPageLimit(int)) |   |