# FabTransformationSheetBehavior

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

*** ** * ** ***


```
public class FabTransformationSheetBehavior extends FabTransformationBehavior
```

<br />

|---|---|---|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) |||||
| ↳ | [com.google.android.material.transformation.ExpandableBehavior](https://developer.android.com/reference/com/google/android/material/transformation/ExpandableBehavior) ||||
|   | ↳ | [com.google.android.material.transformation.ExpandableTransformationBehavior](https://developer.android.com/reference/com/google/android/material/transformation/ExpandableTransformationBehavior) |||
|   |   | ↳ | [com.google.android.material.transformation.FabTransformationBehavior](https://developer.android.com/reference/com/google/android/material/transformation/FabTransformationBehavior) ||
|   |   |   | ↳ | [com.google.android.material.transformation.FabTransformationSheetBehavior](https://developer.android.com/reference/com/google/android/material/transformation/FabTransformationSheetBehavior) |

*** ** * ** ***

> [!CAUTION]
> **This class is deprecated.**   
>
> Use `https://developer.android.com/reference/com/google/android/material/transition/MaterialContainerTransform` instead.

Behavior that should be attached to any sheet that should appear when a `https://developer.android.com/reference/com/google/android/material/floatingactionbutton/FloatingActionButton` is `https://developer.android.com/reference/com/google/android/material/floatingactionbutton/FloatingActionButton#setExpanded(boolean)` expanded}.

A sheet usually has some width and height that's smaller than the screen, has an elevation, and may have a scrim underneath.

## Summary

| ### Public constructors |
|---|
| `[FabTransformationSheetBehavior](https://developer.android.com/reference/com/google/android/material/transformation/FabTransformationSheetBehavior#FabTransformationSheetBehavior())()` |
| `[FabTransformationSheetBehavior](https://developer.android.com/reference/com/google/android/material/transformation/FabTransformationSheetBehavior#FabTransformationSheetBehavior(Context,AttributeSet))(Context context, AttributeSet attrs)` |

| ### Protected methods |
|---|---|
| `https://developer.android.com/reference/com/google/android/material/transformation/FabTransformationBehavior.FabTransformationSpec` | `[onCreateMotionSpec](https://developer.android.com/reference/com/google/android/material/transformation/FabTransformationSheetBehavior#onCreateMotionSpec(Context,boolean))(Context context, boolean expanded)` |
| `boolean` | `[onExpandedStateChange](https://developer.android.com/reference/com/google/android/material/transformation/FabTransformationSheetBehavior#onExpandedStateChange(View,View,boolean,boolean))( View dependency, View child, boolean expanded, boolean animated )` Reacts to a change in expanded state. |

| ### Inherited methods |
|---|
| From [com.google.android.material.transformation.ExpandableBehavior](https://developer.android.com/reference/com/google/android/material/transformation/ExpandableBehavior) |---|---| | `https://developer.android.com/reference/com/google/android/material/expandable/ExpandableWidget` | `[findExpandableWidget](https://developer.android.com/reference/com/google/android/material/transformation/ExpandableBehavior#findExpandableWidget(CoordinatorLayout,View))(CoordinatorLayout parent, View child)` | | `static T` | `<T extends https://developer.android.com/reference/com/google/android/material/transformation/ExpandableBehavior> [from](https://developer.android.com/reference/com/google/android/material/transformation/ExpandableBehavior#from(View,java.lang.Class<T>))(View view, https://developer.android.com/reference/java/lang/Class<T> klass)` A utility function to get the `https://developer.android.com/reference/com/google/android/material/transformation/ExpandableBehavior` attached to the `view`. | | `abstract boolean` | `[layoutDependsOn](https://developer.android.com/reference/com/google/android/material/transformation/ExpandableBehavior#layoutDependsOn(CoordinatorLayout,View,View))(CoordinatorLayout parent, View child, View dependency)` | | `boolean` | `[onDependentViewChanged](https://developer.android.com/reference/com/google/android/material/transformation/ExpandableBehavior#onDependentViewChanged(CoordinatorLayout,View,View))( CoordinatorLayout parent, View child, View dependency )` | | `boolean` | `[onLayoutChild](https://developer.android.com/reference/com/google/android/material/transformation/ExpandableBehavior#onLayoutChild(CoordinatorLayout,View,int))(CoordinatorLayout parent, View child, int layoutDirection)` | |
| From [com.google.android.material.transformation.ExpandableTransformationBehavior](https://developer.android.com/reference/com/google/android/material/transformation/ExpandableTransformationBehavior) |---|---| | `abstract AnimatorSet` | `[onCreateExpandedStateChangeAnimation](https://developer.android.com/reference/com/google/android/material/transformation/ExpandableTransformationBehavior#onCreateExpandedStateChangeAnimation(View,View,boolean,boolean))( View dependency, View child, boolean expanded, boolean isAnimating )` Creates an AnimatorSet to be played for this expanded state change. | |
| From [com.google.android.material.transformation.FabTransformationBehavior](https://developer.android.com/reference/com/google/android/material/transformation/FabTransformationBehavior) |---|---| | `boolean` | `[layoutDependsOn](https://developer.android.com/reference/com/google/android/material/transformation/FabTransformationBehavior#layoutDependsOn(CoordinatorLayout,View,View))(CoordinatorLayout parent, View child, View dependency)` | | `void` | `[onAttachedToLayoutParams](https://developer.android.com/reference/com/google/android/material/transformation/FabTransformationBehavior#onAttachedToLayoutParams(CoordinatorLayout.LayoutParams))(LayoutParams lp)` | | `AnimatorSet` | `[onCreateExpandedStateChangeAnimation](https://developer.android.com/reference/com/google/android/material/transformation/FabTransformationBehavior#onCreateExpandedStateChangeAnimation(View,View,boolean,boolean))( View dependency, View child, boolean expanded, boolean isAnimating )` Creates an AnimatorSet to be played for this expanded state change. | |

## Public constructors

### FabTransformationSheetBehavior

```
public [FabTransformationSheetBehavior](https://developer.android.com/reference/com/google/android/material/transformation/FabTransformationSheetBehavior#FabTransformationSheetBehavior())()
```

### FabTransformationSheetBehavior

```
public [FabTransformationSheetBehavior](https://developer.android.com/reference/com/google/android/material/transformation/FabTransformationSheetBehavior#FabTransformationSheetBehavior(Context,AttributeSet))(Context context, AttributeSet attrs)
```

## Protected methods

### onCreateMotionSpec

```
protected FabTransformationBehavior.FabTransformationSpec [onCreateMotionSpec](https://developer.android.com/reference/com/google/android/material/transformation/FabTransformationSheetBehavior#onCreateMotionSpec(Context,boolean))(Context context, boolean expanded)
```

### onExpandedStateChange

```
protected boolean [onExpandedStateChange](https://developer.android.com/reference/com/google/android/material/transformation/FabTransformationSheetBehavior#onExpandedStateChange(View,View,boolean,boolean))(
    View dependency,
    View child,
    boolean expanded,
    boolean animated
)
```

Reacts to a change in expanded state. This callback is guaranteed to be called only once even if `https://developer.android.com/reference/com/google/android/material/expandable/ExpandableWidget#setExpanded(boolean)` is called multiple times with the same value. Upon configuration change, this callback is called with `animated` set to false.

| Parameters |
|---|---|
| `View dependency` | the `https://developer.android.com/reference/com/google/android/material/expandable/ExpandableWidget` dependency containing the new expanded state. |
| `View child` | the view that should react to the change in expanded state. |
| `boolean expanded` | the new expanded state. |
| `boolean animated` | true if `https://developer.android.com/reference/com/google/android/material/expandable/ExpandableWidget#setExpanded(boolean)` was called, false if restoring from a configuration change. |

| Returns |
|---|---|
| `boolean` | true if the Behavior changed the child view's size or position, false otherwise. |