public class SwipeDismissBehavior
extends Behavior<V extends View>
java.lang.Object | ||
↳ | android.support.design.widget.CoordinatorLayout.Behavior<V extends android.view.View> | |
↳ | android.support.design.widget.SwipeDismissBehavior<V extends android.view.View> |
为 CoordinatorLayout
子视图提供交互行为插件,以提供对“轻扫到解除”手势的支持。
Nested classes |
|
---|---|
interface |
SwipeDismissBehavior.OnDismissListener 用于通知应用程序视图已被解除的回调接口。 |
Constants |
|
---|---|
int |
STATE_DRAGGING 目前正在拖动视图。 |
int |
STATE_IDLE 一个视图当前没有被拖动或者由于一次性拍摄而产生动画效果。 |
int |
STATE_SETTLING 由于一次性或预定义的非交互式动作,视图正在解决。 |
int |
SWIPE_DIRECTION_ANY 滑动方向允许向任一方向滑动。 |
int |
SWIPE_DIRECTION_END_TO_START 滑动方向,只允许在结束开始的方向上滑动。 |
int |
SWIPE_DIRECTION_START_TO_END 滑动方向,只允许在开始到结束方向滑动。 |
Public constructors |
|
---|---|
SwipeDismissBehavior() |
Public methods |
|
---|---|
boolean |
canSwipeDismissView(View view) 当用户的输入指示他们想要滑动给定视图时调用。 |
int |
getDragState() 检索此行为的当前拖动状态。 |
boolean |
onInterceptTouchEvent(CoordinatorLayout parent, V child, MotionEvent event) 在分派给子视图之前,响应CoordinatorLayout触摸事件。 |
boolean |
onTouchEvent(CoordinatorLayout parent, V child, MotionEvent event) 行为已启动 |
void |
setDragDismissDistance(float distance) 设置判断视图是否被拖动到足以被解散的阈值。 |
void |
setEndAlphaSwipeDistance(float fraction) 视图Alpha的最大滑动距离被修改。 |
void |
setListener(SwipeDismissBehavior.OnDismissListener listener) 设置发生解雇事件时使用的听众。 |
void |
setSensitivity(float sensitivity) 设置用于检测滑动开始的灵敏度。 |
void |
setStartAlphaSwipeDistance(float fraction) 视图的alpha之前的最小滑动距离被修改。 |
void |
setSwipeDirection(int direction) 设置此行为的滑动方向。 |
Inherited methods |
|
---|---|
From class android.support.design.widget.CoordinatorLayout.Behavior
|
|
From class java.lang.Object
|
int STATE_DRAGGING
目前正在拖动视图。 由于用户输入或模拟用户输入,该位置当前正在改变。
常数值:1(0x00000001)
int STATE_IDLE
一个视图当前没有被拖动或者由于一次性拍摄而产生动画效果。
常量值:0(0x00000000)
int STATE_SETTLING
由于一次性或预定义的非交互式动作,视图正在解决。
常量值:2(0x00000002)
int SWIPE_DIRECTION_ANY
滑动方向允许向任一方向滑动。
常量值:2(0x00000002)
int SWIPE_DIRECTION_END_TO_START
滑动方向,只允许在结束开始的方向上滑动。 这在LTR中是从右到左或在RTL中是从左到右。
常数值:1(0x00000001)
int SWIPE_DIRECTION_START_TO_END
滑动方向,只允许在开始到结束方向滑动。 这是从左到右的LTR,或从RTL的从右到左。
常量值:0(0x00000000)
SwipeDismissBehavior ()
boolean canSwipeDismissView (View view)
当用户的输入指示他们想要滑动给定视图时调用。
Parameters | |
---|---|
view |
View : View the user is attempting to swipe |
Returns | |
---|---|
boolean |
true if the view can be dismissed via swiping, false otherwise |
int getDragState ()
检索此行为的当前拖动状态。 这将返回一个STATE_IDLE
, STATE_DRAGGING
或者STATE_SETTLING
。
Returns | |
---|---|
int |
The current drag state |
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. |
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. |
void setDragDismissDistance (float distance)
设置判断视图是否被拖动到足以被解散的阈值。
Parameters | |
---|---|
distance |
float : a ratio of a view's width, values are clamped to 0 >= x <= 1f; |
void setEndAlphaSwipeDistance (float fraction)
视图Alpha的最大滑动距离被修改。
Parameters | |
---|---|
fraction |
float : the distance as a fraction of the view's width. |
void setListener (SwipeDismissBehavior.OnDismissListener listener)
设置发生解雇事件时使用的听众。
Parameters | |
---|---|
listener |
SwipeDismissBehavior.OnDismissListener : the listener to use. |
void setSensitivity (float sensitivity)
设置用于检测滑动开始的灵敏度。 这只有在没有发生触摸处理的情况下才会生效。
Parameters | |
---|---|
sensitivity |
float : Multiplier for how sensitive we should be about detecting the start of a drag. Larger values are more sensitive. 1.0f is normal. |
void setStartAlphaSwipeDistance (float fraction)
视图的alpha之前的最小滑动距离被修改。
Parameters | |
---|---|
fraction |
float : the distance as a fraction of the view's width. |
void setSwipeDirection (int direction)
设置此行为的滑动方向。
Parameters | |
---|---|
direction |
int : one of the SWIPE_DIRECTION_START_TO_END , SWIPE_DIRECTION_END_TO_START or SWIPE_DIRECTION_ANY |