# MaterialFadeThrough

[View Source](https://github.com/material-components/material-components-android/blob/1.14.0/lib/java/com/google/android/material/transition/MaterialFadeThrough.java)

*** ** * ** ***


```
public final class MaterialFadeThrough
```

<br />

*** ** * ** ***

A androidx.transition.Visibility transition that, by default, provides a fade in and scale out when appearing and a fade out and scale out when disappearing.

MaterialFadeThrough supports theme-based easing and duration. The transition will load theme values from the `SceneRoot`'s context before it runs, and only use them if the corresponding properties weren't already set on the transition instance.

## Summary

| ### Public fields |
|---|---|
| `final P` | `https://developer.android.com/reference/com/google/android/material/transition/MaterialFadeThrough#primaryAnimatorProvider()` |
| `https://developer.android.com/reference/com/google/android/material/transition/VisibilityAnimatorProvider` | `https://developer.android.com/reference/com/google/android/material/transition/MaterialFadeThrough#secondaryAnimatorProvider()` |

| ### Public constructors |
|---|
| `https://developer.android.com/reference/com/google/android/material/transition/MaterialFadeThrough#MaterialFadeThrough()()` |

| ### Public methods |
|---|---|
| `void` | `https://developer.android.com/reference/com/google/android/material/transition/MaterialFadeThrough#addAdditionalAnimatorProvider(com.google.android.material.transition.VisibilityAnimatorProvider)( https://developer.android.com/reference/com/google/android/material/transition/VisibilityAnimatorProvider additionalAnimatorProvider )` Adds an additional `https://developer.android.com/reference/com/google/android/material/transition/VisibilityAnimatorProvider`, which provides animators be played together with the primary and secondary `https://developer.android.com/reference/com/google/android/material/transition/VisibilityAnimatorProvider`. |
| `void` | `https://developer.android.com/reference/com/google/android/material/transition/MaterialFadeThrough#clearAdditionalAnimatorProvider()()` Clears all additional `https://developer.android.com/reference/com/google/android/material/transition/VisibilityAnimatorProvider` that were previously added. |
| `P` | `https://developer.android.com/reference/com/google/android/material/transition/MaterialFadeThrough#getPrimaryAnimatorProvider()()` Returns the primary `https://developer.android.com/reference/com/google/android/material/transition/VisibilityAnimatorProvider` for this transition, which can be modified but not swapped out completely. |
| `https://developer.android.com/reference/com/google/android/material/transition/VisibilityAnimatorProvider` | `https://developer.android.com/reference/com/google/android/material/transition/MaterialFadeThrough#getSecondaryAnimatorProvider()()` Returns the secondary `https://developer.android.com/reference/com/google/android/material/transition/VisibilityAnimatorProvider` for this transition or null, which can be modified or swapped out completely for a different `https://developer.android.com/reference/com/google/android/material/transition/VisibilityAnimatorProvider`. |
| `boolean` | `https://developer.android.com/reference/com/google/android/material/transition/MaterialFadeThrough#isSeekingSupported()()` |
| `Animator` | `https://developer.android.com/reference/com/google/android/material/transition/MaterialFadeThrough#onAppear(ViewGroup,View,TransitionValues,TransitionValues)( ViewGroup sceneRoot, View view, TransitionValues startValues, TransitionValues endValues )` |
| `Animator` | `https://developer.android.com/reference/com/google/android/material/transition/MaterialFadeThrough#onDisappear(ViewGroup,View,TransitionValues,TransitionValues)( ViewGroup sceneRoot, View view, TransitionValues startValues, TransitionValues endValues )` |
| `boolean` | `https://developer.android.com/reference/com/google/android/material/transition/MaterialFadeThrough#removeAdditionalAnimatorProvider(com.google.android.material.transition.VisibilityAnimatorProvider)( https://developer.android.com/reference/com/google/android/material/transition/VisibilityAnimatorProvider additionalAnimatorProvider )` Removes an additional `https://developer.android.com/reference/com/google/android/material/transition/VisibilityAnimatorProvider` that was previously added. |
| `void` | `https://developer.android.com/reference/com/google/android/material/transition/MaterialFadeThrough#setSecondaryAnimatorProvider(com.google.android.material.transition.VisibilityAnimatorProvider)( https://developer.android.com/reference/com/google/android/material/transition/VisibilityAnimatorProvider secondaryAnimatorProvider )` Sets the secondary `https://developer.android.com/reference/com/google/android/material/transition/VisibilityAnimatorProvider`, which provides animators to be played together with the primary `https://developer.android.com/reference/com/google/android/material/transition/VisibilityAnimatorProvider`. |

## Public fields

### primaryAnimatorProvider

```
public final P primaryAnimatorProvider
```

### secondaryAnimatorProvider

```
public VisibilityAnimatorProvider secondaryAnimatorProvider
```

## Public constructors

### MaterialFadeThrough

```
public MaterialFadeThrough()
```

## Public methods

### addAdditionalAnimatorProvider

```
public void addAdditionalAnimatorProvider(
    VisibilityAnimatorProvider additionalAnimatorProvider
)
```

Adds an additional `https://developer.android.com/reference/com/google/android/material/transition/VisibilityAnimatorProvider`, which provides animators be played together with the primary and secondary `https://developer.android.com/reference/com/google/android/material/transition/VisibilityAnimatorProvider`.

| See also |
|---|---|
| `https://developer.android.com/reference/com/google/android/material/transition/MaterialVisibility#getPrimaryAnimatorProvider()` |   |
| `https://developer.android.com/reference/com/google/android/material/transition/MaterialVisibility#getSecondaryAnimatorProvider()` |   |

### clearAdditionalAnimatorProvider

```
public void clearAdditionalAnimatorProvider()
```

Clears all additional `https://developer.android.com/reference/com/google/android/material/transition/VisibilityAnimatorProvider` that were previously added.

| See also |
|---|---|
| `https://developer.android.com/reference/com/google/android/material/transition/MaterialVisibility#addAdditionalAnimatorProvider(com.google.android.material.transition.VisibilityAnimatorProvider)` |   |

### getPrimaryAnimatorProvider

```
public P getPrimaryAnimatorProvider()
```

Returns the primary `https://developer.android.com/reference/com/google/android/material/transition/VisibilityAnimatorProvider` for this transition, which can be modified but not swapped out completely.

### getSecondaryAnimatorProvider

```
public VisibilityAnimatorProvider getSecondaryAnimatorProvider()
```

Returns the secondary `https://developer.android.com/reference/com/google/android/material/transition/VisibilityAnimatorProvider` for this transition or null, which can be modified or swapped out completely for a different `https://developer.android.com/reference/com/google/android/material/transition/VisibilityAnimatorProvider`.

| See also |
|---|---|
| `https://developer.android.com/reference/com/google/android/material/transition/MaterialVisibility#setSecondaryAnimatorProvider(com.google.android.material.transition.VisibilityAnimatorProvider)` |   |

### isSeekingSupported

```
public boolean isSeekingSupported()
```

### onAppear

```
public Animator onAppear(
    ViewGroup sceneRoot,
    View view,
    TransitionValues startValues,
    TransitionValues endValues
)
```

### onDisappear

```
public Animator onDisappear(
    ViewGroup sceneRoot,
    View view,
    TransitionValues startValues,
    TransitionValues endValues
)
```

### removeAdditionalAnimatorProvider

```
public boolean removeAdditionalAnimatorProvider(
    VisibilityAnimatorProvider additionalAnimatorProvider
)
```

Removes an additional `https://developer.android.com/reference/com/google/android/material/transition/VisibilityAnimatorProvider` that was previously added.

| See also |
|---|---|
| `https://developer.android.com/reference/com/google/android/material/transition/MaterialVisibility#addAdditionalAnimatorProvider(com.google.android.material.transition.VisibilityAnimatorProvider)` |   |

### setSecondaryAnimatorProvider

```
public void setSecondaryAnimatorProvider(
    VisibilityAnimatorProvider secondaryAnimatorProvider
)
```

Sets the secondary `https://developer.android.com/reference/com/google/android/material/transition/VisibilityAnimatorProvider`, which provides animators to be played together with the primary `https://developer.android.com/reference/com/google/android/material/transition/VisibilityAnimatorProvider`.