# FloatingActionButton.BaseBehavior

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

*** ** * ** ***


```
protected class FloatingActionButton.BaseBehavior<T extends FloatingActionButton>
```

<br />

Known direct subclasses [FloatingActionButton.Behavior](https://developer.android.com/reference/com/google/android/material/floatingactionbutton/FloatingActionButton.Behavior)

|---|---|
| `https://developer.android.com/reference/com/google/android/material/floatingactionbutton/FloatingActionButton.Behavior` | Behavior designed for use with `https://developer.android.com/reference/com/google/android/material/floatingactionbutton/FloatingActionButton` instances. |

*** ** * ** ***

Behavior designed for use with `https://developer.android.com/reference/com/google/android/material/floatingactionbutton/FloatingActionButton` instances. Its main function is to move `https://developer.android.com/reference/com/google/android/material/floatingactionbutton/FloatingActionButton` views so that any displayed `https://developer.android.com/reference/com/google/android/material/snackbar/Snackbar`s do not cover them.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/com/google/android/material/floatingactionbutton/FloatingActionButton.BaseBehavior#BaseBehavior()()` |
| `https://developer.android.com/reference/com/google/android/material/floatingactionbutton/FloatingActionButton.BaseBehavior#BaseBehavior(Context,AttributeSet)(Context context, AttributeSet attrs)` |

| ### Public methods |
|---|---|
| `boolean` | `https://developer.android.com/reference/com/google/android/material/floatingactionbutton/FloatingActionButton.BaseBehavior#getInsetDodgeRect(CoordinatorLayout,com.google.android.material.floatingactionbutton.FloatingActionButton,Rect)( CoordinatorLayout parent, https://developer.android.com/reference/com/google/android/material/floatingactionbutton/FloatingActionButton child, Rect rect )` |
| `boolean` | `https://developer.android.com/reference/com/google/android/material/floatingactionbutton/FloatingActionButton.BaseBehavior#isAutoHideEnabled()()` Returns whether the associated FloatingActionButton automatically hides when there is not enough space to be displayed. |
| `void` | `https://developer.android.com/reference/com/google/android/material/floatingactionbutton/FloatingActionButton.BaseBehavior#onAttachedToLayoutParams(CoordinatorLayout.LayoutParams)(LayoutParams lp)` |
| `boolean` | `https://developer.android.com/reference/com/google/android/material/floatingactionbutton/FloatingActionButton.BaseBehavior#onDependentViewChanged(CoordinatorLayout,com.google.android.material.floatingactionbutton.FloatingActionButton,View)( CoordinatorLayout parent, https://developer.android.com/reference/com/google/android/material/floatingactionbutton/FloatingActionButton child, View dependency )` |
| `boolean` | `https://developer.android.com/reference/com/google/android/material/floatingactionbutton/FloatingActionButton.BaseBehavior#onLayoutChild(CoordinatorLayout,com.google.android.material.floatingactionbutton.FloatingActionButton,int)( CoordinatorLayout parent, https://developer.android.com/reference/com/google/android/material/floatingactionbutton/FloatingActionButton child, int layoutDirection )` |
| `void` | `https://developer.android.com/reference/com/google/android/material/floatingactionbutton/FloatingActionButton.BaseBehavior#setAutoHideEnabled(boolean)(boolean autoHide)` Sets whether the associated FloatingActionButton automatically hides when there is not enough space to be displayed. |
| `void` | `https://developer.android.com/reference/com/google/android/material/floatingactionbutton/FloatingActionButton.BaseBehavior#setInternalAutoHideListener(com.google.android.material.floatingactionbutton.FloatingActionButton.OnVisibilityChangedListener)( https://developer.android.com/reference/com/google/android/material/floatingactionbutton/FloatingActionButton.OnVisibilityChangedListener listener )` |

## Public constructors

### BaseBehavior

```
public BaseBehavior()
```

### BaseBehavior

```
public BaseBehavior(Context context, AttributeSet attrs)
```

## Public methods

### getInsetDodgeRect

```
public boolean getInsetDodgeRect(
    CoordinatorLayout parent,
    FloatingActionButton child,
    Rect rect
)
```

### isAutoHideEnabled

```
public boolean isAutoHideEnabled()
```

Returns whether the associated FloatingActionButton automatically hides when there is not enough space to be displayed.

ref com.google.android.material.R.styleable#FloatingActionButton_Behavior_Layout_behavior_autoHide

| Returns |
|---|---|
| `boolean` | true if enabled |

### onAttachedToLayoutParams

```
public void onAttachedToLayoutParams(LayoutParams lp)
```

### onDependentViewChanged

```
public boolean onDependentViewChanged(
    CoordinatorLayout parent,
    FloatingActionButton child,
    View dependency
)
```

### onLayoutChild

```
public boolean onLayoutChild(
    CoordinatorLayout parent,
    FloatingActionButton child,
    int layoutDirection
)
```

### setAutoHideEnabled

```
public void setAutoHideEnabled(boolean autoHide)
```

Sets whether the associated FloatingActionButton automatically hides when there is not enough space to be displayed. This works with `https://developer.android.com/reference/com/google/android/material/appbar/AppBarLayout` and `https://developer.android.com/reference/com/google/android/material/bottomsheet/BottomSheetBehavior`.

ref com.google.android.material.R.styleable#FloatingActionButton_Behavior_Layout_behavior_autoHide

| Parameters |
|---|---|
| `boolean autoHide` | true to enable automatic hiding |

### setInternalAutoHideListener

```
public void setInternalAutoHideListener(
    FloatingActionButton.OnVisibilityChangedListener listener
)
```