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

*** ** * ** ***


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

<br />

*** ** * ** ***

Adds space between pages via the `https://developer.android.com/reference/androidx/viewpager2/widget/ViewPager2.PageTransformer` API.

Internally relies on `https://developer.android.com/reference/android/view/View.html#setTranslationX(float)` and `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 |
|---|---|
| `https://developer.android.com/reference/androidx/viewpager2/widget/ViewPager2#setPageTransformer(androidx.viewpager2.widget.ViewPager2.PageTransformer)` |   |
| `https://developer.android.com/reference/androidx/viewpager2/widget/CompositePageTransformer` |   |

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/viewpager2/widget/MarginPageTransformer#MarginPageTransformer(int)(@https://developer.android.com/reference/androidx/annotation/Px int marginPx)` Creates a `https://developer.android.com/reference/androidx/viewpager2/widget/MarginPageTransformer`. |

| ### Public methods |
|---|---|
| `void` | `https://developer.android.com/reference/androidx/viewpager2/widget/MarginPageTransformer#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

### MarginPageTransformer

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

```
public MarginPageTransformer(@Px int marginPx)
```

Creates a `https://developer.android.com/reference/androidx/viewpager2/widget/MarginPageTransformer`.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/Px int marginPx` | non-negative margin |

## Public methods

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