# MaterialContainerTransformSharedElementCallback.ShapeProvider

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

*** ** * ** ***


```
public interface MaterialContainerTransformSharedElementCallback.ShapeProvider
```

<br />

Known direct subclasses [MaterialContainerTransformSharedElementCallback.ShapeableViewShapeProvider](https://developer.android.com/reference/com/google/android/material/transition/platform/MaterialContainerTransformSharedElementCallback.ShapeableViewShapeProvider)

|---|---|
| `https://developer.android.com/reference/com/google/android/material/transition/platform/MaterialContainerTransformSharedElementCallback.ShapeableViewShapeProvider` | A `https://developer.android.com/reference/com/google/android/material/transition/platform/MaterialContainerTransformSharedElementCallback.ShapeProvider` that provides the view's `https://developer.android.com/reference/com/google/android/material/shape/ShapeAppearanceModel` if the view implements the `https://developer.android.com/reference/com/google/android/material/shape/Shapeable` interface. |

*** ** * ** ***

Allows providing a `https://developer.android.com/reference/com/google/android/material/shape/ShapeAppearanceModel` for the shared element view.

## Summary

| ### Public methods |
|---|---|
| `abstract https://developer.android.com/reference/com/google/android/material/shape/ShapeAppearanceModel` | `https://developer.android.com/reference/com/google/android/material/transition/platform/MaterialContainerTransformSharedElementCallback.ShapeProvider#provideShape(View)(View sharedElement)` |

## Public methods

### provideShape

```
abstract ShapeAppearanceModel provideShape(View sharedElement)
```