AppBarLayout.BaseBehavior

protected static class AppBarLayout.BaseBehavior
extends Behavior<V extends View>

java.lang.Object
   ↳ androidx.coordinatorlayout.widget.CoordinatorLayout.Behavior<V extends android.view.View>
     ↳ com.google.android.material.appbar.AppBarLayout.BaseBehavior<T extends com.google.android.material.appbar.AppBarLayout>


The default AppBarLayout.Behavior for AppBarLayout. Implements the necessary nested scroll handling with offsetting.

Summary

Nested classes

class AppBarLayout.BaseBehavior.BaseDragCallback<T extends AppBarLayout>

Callback to allow control over any AppBarLayout dragging. 

class AppBarLayout.BaseBehavior.SavedState

A Parcelable implementation for AppBarLayout

Public constructors

BaseBehavior()
BaseBehavior(Context context, AttributeSet attrs)

Public methods

int getLeftAndRightOffset()
int getTopAndBottomOffset()
boolean isHorizontalOffsetEnabled()
boolean isVerticalOffsetEnabled()
boolean onInterceptTouchEvent(CoordinatorLayout parent, V child, MotionEvent ev)
boolean onLayoutChild(CoordinatorLayout parent, V child, int layoutDirection)
boolean onLayoutChild(CoordinatorLayout parent, T abl, int layoutDirection)
boolean onMeasureChild(CoordinatorLayout parent, T child, int parentWidthMeasureSpec, int widthUsed, int parentHeightMeasureSpec, int heightUsed)
void onNestedPreScroll(CoordinatorLayout coordinatorLayout, T child, View target, int dx, int dy, int[] consumed, int type)
void onNestedScroll(CoordinatorLayout coordinatorLayout, T child, View target, int dxConsumed, int dyConsumed, int dxUnconsumed, int dyUnconsumed, int type, int[] consumed)
void onRestoreInstanceState(CoordinatorLayout parent, T appBarLayout, Parcelable state)
Parcelable onSaveInstanceState(CoordinatorLayout parent, T abl)
boolean onStartNestedScroll(CoordinatorLayout parent, T child, View directTargetChild, View target, int nestedScrollAxes, int type)
void onStopNestedScroll(CoordinatorLayout coordinatorLayout, T abl, View target, int type)
boolean onTouchEvent(CoordinatorLayout parent, V child, MotionEvent ev)
void setDragCallback(BaseDragCallback callback)

Set a callback to control any AppBarLayout dragging.

void setHorizontalOffsetEnabled(boolean horizontalOffsetEnabled)
boolean setLeftAndRightOffset(int offset)
boolean setTopAndBottomOffset(int offset)
void setVerticalOffsetEnabled(boolean verticalOffsetEnabled)

Protected methods

void layoutChild(CoordinatorLayout parent, V child, int layoutDirection)

Inherited methods

Public constructors

BaseBehavior

public BaseBehavior ()

BaseBehavior

public BaseBehavior (Context context, 
                AttributeSet attrs)

Parameters
context Context

attrs AttributeSet

Public methods

getLeftAndRightOffset

public int getLeftAndRightOffset ()

Returns
int

getTopAndBottomOffset

public int getTopAndBottomOffset ()

Returns
int

isHorizontalOffsetEnabled

public boolean isHorizontalOffsetEnabled ()

Returns
boolean

isVerticalOffsetEnabled

public boolean isVerticalOffsetEnabled ()

Returns
boolean

onInterceptTouchEvent

public boolean onInterceptTouchEvent (CoordinatorLayout parent, 
                V child, 
                MotionEvent ev)

Parameters
parent CoordinatorLayout

child V

ev MotionEvent

Returns
boolean

onLayoutChild

public boolean onLayoutChild (CoordinatorLayout parent, 
                V child, 
                int layoutDirection)

Parameters
parent CoordinatorLayout

child V

layoutDirection int

Returns
boolean

onLayoutChild

public boolean onLayoutChild (CoordinatorLayout parent, 
                T abl, 
                int layoutDirection)

Parameters
parent CoordinatorLayout

abl T

layoutDirection int

Returns
boolean

onMeasureChild

public boolean onMeasureChild (CoordinatorLayout parent, 
                T child, 
                int parentWidthMeasureSpec, 
                int widthUsed, 
                int parentHeightMeasureSpec, 
                int heightUsed)

Parameters
parent CoordinatorLayout

child T

parentWidthMeasureSpec int

widthUsed int

parentHeightMeasureSpec int

heightUsed int

Returns
boolean

onNestedPreScroll

public void onNestedPreScroll (CoordinatorLayout coordinatorLayout, 
                T child, 
                View target, 
                int dx, 
                int dy, 
                int[] consumed, 
                int type)

Parameters
coordinatorLayout CoordinatorLayout

child T

target View

dx int

dy int

consumed int

type int

onNestedScroll

public void onNestedScroll (CoordinatorLayout coordinatorLayout, 
                T child, 
                View target, 
                int dxConsumed, 
                int dyConsumed, 
                int dxUnconsumed, 
                int dyUnconsumed, 
                int type, 
                int[] consumed)

Parameters
coordinatorLayout CoordinatorLayout

child T

target View

dxConsumed int

dyConsumed int

dxUnconsumed int

dyUnconsumed int

type int

consumed int

onRestoreInstanceState

public void onRestoreInstanceState (CoordinatorLayout parent, 
                T appBarLayout, 
                Parcelable state)

Parameters
parent CoordinatorLayout

appBarLayout T

state Parcelable

onSaveInstanceState

public Parcelable onSaveInstanceState (CoordinatorLayout parent, 
                T abl)

Parameters
parent CoordinatorLayout

abl T

Returns
Parcelable

onStartNestedScroll

public boolean onStartNestedScroll (CoordinatorLayout parent, 
                T child, 
                View directTargetChild, 
                View target, 
                int nestedScrollAxes, 
                int type)

Parameters
parent CoordinatorLayout

child T

directTargetChild View

target View

nestedScrollAxes int

type int

Returns
boolean

onStopNestedScroll

public void onStopNestedScroll (CoordinatorLayout coordinatorLayout, 
                T abl, 
                View target, 
                int type)

Parameters
coordinatorLayout CoordinatorLayout

abl T

target View

type int

onTouchEvent

public boolean onTouchEvent (CoordinatorLayout parent, 
                V child, 
                MotionEvent ev)

Parameters
parent CoordinatorLayout

child V

ev MotionEvent

Returns
boolean

setDragCallback

public void setDragCallback (BaseDragCallback callback)

Set a callback to control any AppBarLayout dragging.

Parameters
callback BaseDragCallback: the callback to use, or null to use the default behavior.

setHorizontalOffsetEnabled

public void setHorizontalOffsetEnabled (boolean horizontalOffsetEnabled)

Parameters
horizontalOffsetEnabled boolean

setLeftAndRightOffset

public boolean setLeftAndRightOffset (int offset)

Parameters
offset int

Returns
boolean

setTopAndBottomOffset

public boolean setTopAndBottomOffset (int offset)

Parameters
offset int

Returns
boolean

setVerticalOffsetEnabled

public void setVerticalOffsetEnabled (boolean verticalOffsetEnabled)

Parameters
verticalOffsetEnabled boolean

Protected methods

layoutChild

protected void layoutChild (CoordinatorLayout parent, 
                V child, 
                int layoutDirection)

Parameters
parent CoordinatorLayout

child V

layoutDirection int