# MarginPageTransformer

# MarginPageTransformer

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

<br />

```
class MarginPageTransformer : ViewPager2.PageTransformer
```

<br />

*** ** * ** ***

Adds space between pages via the[ViewPager2.PageTransformer](https://developer.android.com/reference/kotlin/androidx/viewpager2/widget/ViewPager2.PageTransformer)API.

Internally relies on[setTranslationX](https://developer.android.com/reference/android/view/View.html#setTranslationX(float))and[setTranslationY](https://developer.android.com/reference/android/view/View.html#setTranslationY(float)).

Note: translations on pages are not reset when this adapter is changed for another one, so you might want to set them manually to 0 when dynamically switching to another transformer, or when switching ViewPager2 orientation.  

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

## Summary

|                                                                                                                                                                                                                     ### Public constructors                                                                                                                                                                                                                      |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [MarginPageTransformer](https://developer.android.com/reference/kotlin/androidx/viewpager2/widget/MarginPageTransformer#MarginPageTransformer(int))`(marginPx: @`[Px](https://developer.android.com/reference/kotlin/androidx/annotation/Px)` `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`)` Creates a[MarginPageTransformer](https://developer.android.com/reference/kotlin/androidx/viewpager2/widget/MarginPageTransformer). |

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

### MarginPageTransformer

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

```
MarginPageTransformer(marginPx: @Px Int)
```

Creates a[MarginPageTransformer](https://developer.android.com/reference/kotlin/androidx/viewpager2/widget/MarginPageTransformer).  

|                                                                               Parameters                                                                               |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------|
| `marginPx: @`[Px](https://developer.android.com/reference/kotlin/androidx/annotation/Px)` `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) | non-negative margin |

## Public functions

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