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

boolean blocksInteractionBelow(CoordinatorLayout arg0, V arg1)
boolean getInsetDodgeRect(CoordinatorLayout arg0, V arg1, Rect arg2)
int getScrimColor(CoordinatorLayout arg0, V arg1)
float getScrimOpacity(CoordinatorLayout arg0, V arg1)
static Object getTag(View arg0)
boolean layoutDependsOn(CoordinatorLayout arg0, V arg1, View arg2)
WindowInsetsCompat onApplyWindowInsets(CoordinatorLayout arg0, V arg1, WindowInsetsCompat arg2)
void onAttachedToLayoutParams(CoordinatorLayout.LayoutParams arg0)
boolean onDependentViewChanged(CoordinatorLayout arg0, V arg1, View arg2)
void onDependentViewRemoved(CoordinatorLayout arg0, V arg1, View arg2)
void onDetachedFromLayoutParams()
boolean onInterceptTouchEvent(CoordinatorLayout arg0, V arg1, MotionEvent arg2)
boolean onLayoutChild(CoordinatorLayout arg0, V arg1, int arg2)
boolean onMeasureChild(CoordinatorLayout arg0, V arg1, int arg2, int arg3, int arg4, int arg5)
boolean onNestedFling(CoordinatorLayout arg0, V arg1, View arg2, float arg3, float arg4, boolean arg5)
boolean onNestedPreFling(CoordinatorLayout arg0, V arg1, View arg2, float arg3, float arg4)
void onNestedPreScroll(CoordinatorLayout arg0, V arg1, View arg2, int arg3, int arg4, int[] arg5, int arg6)
void onNestedPreScroll(CoordinatorLayout arg0, V arg1, View arg2, int arg3, int arg4, int[] arg5)
void onNestedScroll(CoordinatorLayout arg0, V arg1, View arg2, int arg3, int arg4, int arg5, int arg6, int arg7)
void onNestedScroll(CoordinatorLayout arg0, V arg1, View arg2, int arg3, int arg4, int arg5, int arg6, int arg7, int[] arg8)
void onNestedScroll(CoordinatorLayout arg0, V arg1, View arg2, int arg3, int arg4, int arg5, int arg6)
void onNestedScrollAccepted(CoordinatorLayout arg0, V arg1, View arg2, View arg3, int arg4, int arg5)
void onNestedScrollAccepted(CoordinatorLayout arg0, V arg1, View arg2, View arg3, int arg4)
boolean onRequestChildRectangleOnScreen(CoordinatorLayout arg0, V arg1, Rect arg2, boolean arg3)
void onRestoreInstanceState(CoordinatorLayout arg0, V arg1, Parcelable arg2)
Parcelable onSaveInstanceState(CoordinatorLayout arg0, V arg1)
boolean onStartNestedScroll(CoordinatorLayout arg0, V arg1, View arg2, View arg3, int arg4, int arg5)
boolean onStartNestedScroll(CoordinatorLayout arg0, V arg1, View arg2, View arg3, int arg4)
void onStopNestedScroll(CoordinatorLayout arg0, V arg1, View arg2, int arg3)
void onStopNestedScroll(CoordinatorLayout arg0, V arg1, View arg2)
boolean onTouchEvent(CoordinatorLayout arg0, V arg1, MotionEvent arg2)
static void setTag(View arg0, Object arg1)
Object clone()
boolean equals(Object arg0)
void finalize()
final Class<?> getClass()
int hashCode()
final void notify()
final void notifyAll()
String toString()
final void wait(long arg0, int arg1)
final void wait(long arg0)
final void wait()

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