Most visited

Recently visited

BottomSheetBehavior

public class BottomSheetBehavior
extends Behavior<V extends View>

java.lang.Object
   ↳ android.support.design.widget.CoordinatorLayout.Behavior<V extends android.view.View>
     ↳ android.support.design.widget.BottomSheetBehavior<V extends android.view.View>


一个交互行为插件,用于 CoordinatorLayout的子视图,使其成为底部工作表。

Summary

Nested classes

class BottomSheetBehavior.BottomSheetCallback

回调监控有关底部表单的事件。

class BottomSheetBehavior.SavedState

 

XML attributes

android.support.design:behavior_hideable Whether this bottom sheet can be hidden by dragging it further downwards

可能是布尔值,例如“ true ”或“ false ”。

android.support.design:behavior_peekHeight The height of the bottom sheet when it is collapsed. 
android.support.design:behavior_skipCollapsed Skip the collapsed state once expanded; no effect unless it is hideable

可能是布尔值,如“ true ”或“ false ”。

Constants

int STATE_COLLAPSED

底部表单已折叠。

int STATE_DRAGGING

底部表单正在拖动。

int STATE_EXPANDED

底部表单展开。

int STATE_HIDDEN

底部表单被隐藏。

int STATE_SETTLING

底部表格正在沉降。

Public constructors

BottomSheetBehavior()

用于实例化BottomSheetBehaviors的默认构造函数。

BottomSheetBehavior(Context context, AttributeSet attrs)

用于从布局中膨胀BottomSheetBehaviors的默认构造函数。

Public methods

static <V extends View> BottomSheetBehavior<V> from(V view)

用于获取与 BottomSheetBehavior关联的 view实用程序函数。

final int getPeekHeight()

获取底部表单在折叠时的高度。

boolean getSkipCollapsed()

设置此底部表单在展开一次后是否应隐藏隐藏状态。

final int getState()

获取底部工作表的当前状态。

boolean isHideable()

获取底部表单在被刷下时是否可以隐藏。

boolean onInterceptTouchEvent(CoordinatorLayout parent, V child, MotionEvent event)

在分派给子视图之前,响应CoordinatorLayout触摸事件。

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

当父母CoordinatorLayout关于布置给定子视图时调用。

boolean onNestedPreFling(CoordinatorLayout coordinatorLayout, V child, View target, float velocityX, float velocityY)

当嵌套滚动的孩子即将开始投掷时调用。

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

在目标已消耗任何滚动距离之前,正在进行嵌套滚动更新时调用。

void onRestoreInstanceState(CoordinatorLayout parent, V child, Parcelable state)

挂钩允许行为重新应用其以前由 onSaveInstanceState(CoordinatorLayout, V)生成的内部状态的表示。

Parcelable onSaveInstanceState(CoordinatorLayout parent, V child)

Hook允许一个行为生成一个内部状态的表示,以后可以用它来创建一个具有相同状态的新实例。

boolean onStartNestedScroll(CoordinatorLayout coordinatorLayout, V child, View directTargetChild, View target, int nestedScrollAxes)

当CoordinatorLayout的后代尝试启动嵌套滚动时调用。

void onStopNestedScroll(CoordinatorLayout coordinatorLayout, V child, View target)

当嵌套滚动结束时调用。

boolean onTouchEvent(CoordinatorLayout parent, V child, MotionEvent event)

在此行为已启动 intercepting之后,响应CoordinatorLayout触摸事件。

void setBottomSheetCallback(BottomSheetBehavior.BottomSheetCallback callback)

设置要通知底部表单事件的回调。

void setHideable(boolean hideable)

设置此底部表单是否可以在向下滑动时隐藏。

final void setPeekHeight(int peekHeight)

设置底部表单在折叠时的高度。

void setSkipCollapsed(boolean skipCollapsed)

设置此底部表单在展开一次后是否应隐藏隐藏状态。

final void setState(int state)

设置底部工作表的状态。

Inherited methods

From class android.support.design.widget.CoordinatorLayout.Behavior
From class java.lang.Object

XML attributes

android.support.design:behavior_hideable

是否可以通过向下拖动来隐藏底部表单

可能是布尔值,例如“ true ”或“ false ”。

相关方法:

android.support.design:behavior_peekHeight

底部表单折叠时的高度。

可能是尺寸值,这是一个浮点数,后面跟着一个单位,例如“ 14.5sp ”。 可用单位为:px(像素),dp(密度独立像素),sp(基于首选字体大小的缩放像素),单位为英寸和毫米。

相关方法:

android.support.design:behavior_skipCollapsed

在展开后跳过折叠状态; 除非它是可隐藏的,否则没有效果

可能是布尔值,例如“ true ”或“ false ”。

相关方法:

Constants

STATE_COLLAPSED

int STATE_COLLAPSED

底部表单已折叠。

常量值:4(0x00000004)

STATE_DRAGGING

int STATE_DRAGGING

底部表单正在拖动。

常数值:1(0x00000001)

STATE_EXPANDED

int STATE_EXPANDED

底部表单展开。

常量值:3(0x00000003)

STATE_HIDDEN

int STATE_HIDDEN

底部表单被隐藏。

常量值:5(0x00000005)

STATE_SETTLING

int STATE_SETTLING

底部表格正在沉降。

常量值:2(0x00000002)

Public constructors

BottomSheetBehavior

BottomSheetBehavior ()

用于实例化BottomSheetBehaviors的默认构造函数。

BottomSheetBehavior

BottomSheetBehavior (Context context, 
                AttributeSet attrs)

用于从布局中膨胀BottomSheetBehaviors的默认构造函数。

Parameters
context Context: The Context.
attrs AttributeSet: The AttributeSet.

Public methods

from

BottomSheetBehavior<V> from (V view)

用于获得与 BottomSheetBehavior关联的 view实用程序函数。

Parameters
view V: The View with BottomSheetBehavior.
Returns
BottomSheetBehavior<V> The BottomSheetBehavior associated with the view.

getPeekHeight

int getPeekHeight ()

获取底部表单在折叠时的高度。

相关XML属性:

Returns
int The height of the collapsed bottom sheet.

getSkipCollapsed

boolean getSkipCollapsed ()

设置此底部表单在展开一次后是否应隐藏隐藏状态。

相关XML属性:

Returns
boolean Whether the bottom sheet should skip the collapsed state.

getState

int getState ()

获取底部工作表的当前状态。

Returns
int One of STATE_EXPANDED, STATE_COLLAPSED, STATE_DRAGGING, and STATE_SETTLING.

isHideable

boolean isHideable ()

获取底部表单在被刷下时是否可以隐藏。

相关XML属性:

Returns
boolean true if this bottom sheet can hide.

onInterceptTouchEvent

boolean onInterceptTouchEvent (CoordinatorLayout parent, 
                V child, 
                MotionEvent event)

在分派给子视图之前,响应CoordinatorLayout触摸事件。

行为可以使用它来监控入站触摸事件,直到决定拦截事件流的其余部分以对其关联的子视图执行操作为止。 此方法将返回false直到它检测到正确的拦截条件,然后在发生这些条件后返回true。

行为拦截触摸事件后,事件流的其余部分将发送到 onTouchEvent(CoordinatorLayout, V, MotionEvent)方法。

此方法的默认实现始终返回false。

Parameters
parent CoordinatorLayout: the parent view currently receiving this touch event
child V: the child view associated with this Behavior
event MotionEvent: the MotionEvent describing the touch event being processed
Returns
boolean true if this Behavior would like to intercept and take over the event stream. The default always returns false.

onLayoutChild

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

当父母CoordinatorLayout关于布置给定子视图时调用。

此方法可用于执行子视图的自定义或修改布局,以取代默认子布局行为。 行为的实现可以通过调用parent.onLayoutChild委托给标准CoordinatorLayout测量行为。

如果行为实现onDependentViewChanged(CoordinatorLayout, android.view.View, android.view.View)以响应相关视图更改而更改视图的位置,则还应该以尊重这些相关视图的方式实现onLayoutChild onLayoutChild它的依赖后,相关视角已经制定了将永远被调用。

Parameters
parent CoordinatorLayout: the parent CoordinatorLayout
child V: child view to lay out
layoutDirection int: the resolved layout direction for the CoordinatorLayout, such as LAYOUT_DIRECTION_LTR or LAYOUT_DIRECTION_RTL.
Returns
boolean true if the Behavior performed layout of the child view, false to request default layout behavior

onNestedPreFling

boolean onNestedPreFling (CoordinatorLayout coordinatorLayout, 
                V child, 
                View target, 
                float velocityX, 
                float velocityY)

当嵌套滚动的孩子即将开始投掷时调用。

与CoordinatorLayout的直接子项关联的任何行为都可以选择接受嵌套滚动,作为onStartNestedScroll(CoordinatorLayout, V, View, View, int)一部分。 每个返回true的行为都将接收该嵌套滚动的后续嵌套滚动事件。

onNestedPreFling在当前嵌套滚动子视图检测到适合条件的适当条件时调用,但它尚未对其执行操作。 一个行为可以返回true来表明它消耗了一堆。 如果至少有一个行为返回true,则不应该让孩子执行这个行为。

Parameters
coordinatorLayout CoordinatorLayout: the CoordinatorLayout parent of the view this Behavior is associated with
child V: the child view of the CoordinatorLayout this Behavior is associated with
target View: the descendant view of the CoordinatorLayout performing the nested scroll
velocityX float: horizontal velocity of the attempted fling
velocityY float: vertical velocity of the attempted fling
Returns
boolean true if the Behavior consumed the fling

onNestedPreScroll

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

在目标已消耗任何滚动距离之前,正在进行嵌套滚动更新时调用。

任何与CoordinatorLayout的直接子项关联的行为都可能选择接受嵌套滚动,作为onStartNestedScroll(CoordinatorLayout, V, View, View, int)一部分。 每个返回true的行为都将接收该嵌套滚动的后续嵌套滚动事件。

onNestedPreScroll is called each time the nested scroll is updated by the nested scrolling child, before the nested scrolling child has consumed the scroll distance itself. Each Behavior responding to the nested scroll will receive the same values. The CoordinatorLayout will report as consumed the maximum number of pixels in either direction that any Behavior responding to the nested scroll reported as consumed.

Parameters
coordinatorLayout CoordinatorLayout: the CoordinatorLayout parent of the view this Behavior is associated with
child V: the child view of the CoordinatorLayout this Behavior is associated with
target View: the descendant view of the CoordinatorLayout performing the nested scroll
dx int: the raw horizontal number of pixels that the user attempted to scroll
dy int: the raw vertical number of pixels that the user attempted to scroll
consumed int: out parameter. consumed[0] should be set to the distance of dx that was consumed, consumed[1] should be set to the distance of dy that was consumed

onRestoreInstanceState

void onRestoreInstanceState (CoordinatorLayout parent, 
                V child, 
                Parcelable state)

挂钩允许行为重新应用其先前由onSaveInstanceState(CoordinatorLayout, V)生成的内部状态的表示。 这个函数永远不会被调用为null状态。

Parameters
parent CoordinatorLayout: the parent CoordinatorLayout
child V: child view to restore from
state Parcelable: The frozen state that had previously been returned by onSaveInstanceState(CoordinatorLayout, V).

onSaveInstanceState

Parcelable onSaveInstanceState (CoordinatorLayout parent, 
                V child)

Hook允许一个行为生成一个内部状态的表示,以后可以用它来创建一个具有相同状态的新实例。 此状态应仅包含不持久或以后不能重建的信息。

行为状态仅在父母 CoordinatorLayout和使用此行为的视图设置有效ID时才被保存。

Parameters
parent CoordinatorLayout: the parent CoordinatorLayout
child V: child view to restore from
Returns
Parcelable Returns a Parcelable object containing the behavior's current dynamic state.

onStartNestedScroll

boolean onStartNestedScroll (CoordinatorLayout coordinatorLayout, 
                V child, 
                View directTargetChild, 
                View target, 
                int nestedScrollAxes)

当CoordinatorLayout的后代尝试启动嵌套滚动时调用。

与CoordinatorLayout的任何直接子节点相关联的任何行为都可能会响应此事件,并返回true以指示CoordinatorLayout应作为此滚动的嵌套滚动父级。 只有从此方法返回true的行为才会接收后续的嵌套滚动事件。

Parameters
coordinatorLayout CoordinatorLayout: the CoordinatorLayout parent of the view this Behavior is associated with
child V: the child view of the CoordinatorLayout this Behavior is associated with
directTargetChild View: the child view of the CoordinatorLayout that either is or contains the target of the nested scroll operation
target View: the descendant view of the CoordinatorLayout initiating the nested scroll
nestedScrollAxes int: the axes that this nested scroll applies to. See SCROLL_AXIS_HORIZONTAL, SCROLL_AXIS_VERTICAL
Returns
boolean true if the Behavior wishes to accept this nested scroll

onStopNestedScroll

void onStopNestedScroll (CoordinatorLayout coordinatorLayout, 
                V child, 
                View target)

当嵌套滚动结束时调用。

与CoordinatorLayout的任何直接子项关联的任何行为都可以选择接受嵌套滚动,作为onStartNestedScroll(CoordinatorLayout, V, View, View, int)一部分。 每个返回true的行为都将接收该嵌套滚动的后续嵌套滚动事件。

onStopNestedScroll标记单个嵌套滚动事件序列的结束。 这是清理与嵌套滚动相关的任何状态的好地方。

Parameters
coordinatorLayout CoordinatorLayout: the CoordinatorLayout parent of the view this Behavior is associated with
child V: the child view of the CoordinatorLayout this Behavior is associated with
target View: the descendant view of the CoordinatorLayout that initiated the nested scroll

onTouchEvent

boolean onTouchEvent (CoordinatorLayout parent, 
                V child, 
                MotionEvent event)

在行为开始 intercepting之后,回应CoordinatorLayout触摸事件。

行为可以拦截触摸事件以帮助CoordinatorLayout操纵其子视图。 例如,行为可能允许用户拖动打开或关闭的UI窗格。 该方法应该执行视图布局状态的实际突变。

Parameters
parent CoordinatorLayout: the parent view currently receiving this touch event
child V: the child view associated with this Behavior
event MotionEvent: the MotionEvent describing the touch event being processed
Returns
boolean true if this Behavior handled this touch event and would like to continue receiving events in this stream. The default always returns false.

setBottomSheetCallback

void setBottomSheetCallback (BottomSheetBehavior.BottomSheetCallback callback)

设置要通知底部表单事件的回调。

Parameters
callback BottomSheetBehavior.BottomSheetCallback: The callback to notify when bottom sheet events occur.

setHideable

void setHideable (boolean hideable)

设置此底部表单是否可以在向下滑动时隐藏。

相关XML属性:

Parameters
hideable boolean: true to make this bottom sheet hideable.

setPeekHeight

void setPeekHeight (int peekHeight)

设置底部表单在折叠时的高度。

相关XML属性:

Parameters
peekHeight int: The height of the collapsed bottom sheet in pixels.

setSkipCollapsed

void setSkipCollapsed (boolean skipCollapsed)

设置此底部表单在展开一次后是否应隐藏隐藏状态。 除非表格是可隐藏的,否则将其设置为true将不起作用。

相关XML属性:

Parameters
skipCollapsed boolean: True if the bottom sheet should skip the collapsed state.

setState

void setState (int state)

设置底部工作表的状态。 底部工作表将通过动画过渡到该状态。

Parameters
state int: One of STATE_COLLAPSED, STATE_EXPANDED, or STATE_HIDDEN.

Hooray!