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 |
class |
AppBarLayout.BaseBehavior.SavedState
A |
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 |
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 |
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2021-02-08 UTC.
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"Missing the information I need"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"Too complicated / too many steps"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"Out of date"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"Samples / code issue"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"Other"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"Easy to understand"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"Solved my problem"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"Other"
}]
{"lastModified": "Last updated 2021-02-08 UTC."}
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2021-02-08 UTC."]]