AppBarLayout.BaseBehavior

protected static class AppBarLayout.BaseBehavior
extends Behavior

java.lang.Object
   ↳ androidx.coordinatorlayout.widget.CoordinatorLayout.Behavior
     ↳ com.google.android.material.appbar.AppBarLayout.BaseBehaviorcom.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.BaseDragCallbackAppBarLayout>

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