# ViewPager2.PageTransformer

# ViewPager2.PageTransformer

Artifact:[androidx.viewpager2:viewpager2](https://developer.android.com/jetpack/androidx/releases/viewpager2)  
[View Source](https://cs.android.com/search?q=file:androidx/viewpager2/widget/ViewPager2.java+class:androidx.viewpager2.widget.ViewPager2.PageTransformer)  
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/ViewPager2.PageTransformer "View this page in Java")

<br />

```
interface ViewPager2.PageTransformer
```

<br />

Known direct subclasses  
[CompositePageTransformer](https://developer.android.com/reference/kotlin/androidx/viewpager2/widget/CompositePageTransformer),[MarginPageTransformer](https://developer.android.com/reference/kotlin/androidx/viewpager2/widget/MarginPageTransformer)  

|--------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [CompositePageTransformer](https://developer.android.com/reference/kotlin/androidx/viewpager2/widget/CompositePageTransformer) | Allows for combining multiple[PageTransformer](https://developer.android.com/reference/kotlin/androidx/viewpager2/widget/ViewPager2.PageTransformer)objects.           |
| [MarginPageTransformer](https://developer.android.com/reference/kotlin/androidx/viewpager2/widget/MarginPageTransformer)       | Adds space between pages via the[ViewPager2.PageTransformer](https://developer.android.com/reference/kotlin/androidx/viewpager2/widget/ViewPager2.PageTransformer)API. |

*** ** * ** ***

A PageTransformer is invoked whenever a visible/attached page is scrolled. This offers an opportunity for the application to apply a custom transformation to the page views using animation properties.

## Summary

|                             ### Public functions                              |
|-------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html) | [transformPage](https://developer.android.com/reference/kotlin/androidx/viewpager2/widget/ViewPager2.PageTransformer#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 functions

### transformPage

Added in[1.0.0](https://developer.android.com/jetpack/androidx/releases/viewpager2#1.0.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)) |   |