Most visited

Recently visited

SwipeDismissBehavior

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子视图提供交互行为插件,以提供对“轻扫到解除”手势的支持。

Summary

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)

行为已启动 intercepting后,对CoordinatorLayout触摸事件 intercepting

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

Constants

STATE_DRAGGING

int STATE_DRAGGING

目前正在拖动视图。 由于用户输入或模拟用户输入,该位置当前正在改变。

常数值:1(0x00000001)

STATE_IDLE

int STATE_IDLE

一个视图当前没有被拖动或者由于一次性拍摄而产生动画效果。

常量值:0(0x00000000)

STATE_SETTLING

int STATE_SETTLING

由于一次性或预定义的非交互式动作,视图正在解决。

常量值:2(0x00000002)

SWIPE_DIRECTION_ANY

int SWIPE_DIRECTION_ANY

滑动方向允许向任一方向滑动。

常量值:2(0x00000002)

SWIPE_DIRECTION_END_TO_START

int SWIPE_DIRECTION_END_TO_START

滑动方向,只允许在结束开始的方向上滑动。 这在LTR中是从右到左或在RTL中是从左到右。

常数值:1(0x00000001)

SWIPE_DIRECTION_START_TO_END

int SWIPE_DIRECTION_START_TO_END

滑动方向,只允许在开始到结束方向滑动。 这是从左到右的LTR,或从RTL的从右到左。

常量值:0(0x00000000)

Public constructors

SwipeDismissBehavior

SwipeDismissBehavior ()

Public methods

canSwipeDismissView

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

getDragState

int getDragState ()

检索此行为的当前拖动状态。 这将返回一个STATE_IDLESTATE_DRAGGING或者STATE_SETTLING

Returns
int The current drag state

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.

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.

setDragDismissDistance

void setDragDismissDistance (float distance)

设置判断视图是否被拖动到足以被解散的阈值。

Parameters
distance float: a ratio of a view's width, values are clamped to 0 >= x <= 1f;

setEndAlphaSwipeDistance

void setEndAlphaSwipeDistance (float fraction)

视图Alpha的最大滑动距离被修改。

Parameters
fraction float: the distance as a fraction of the view's width.

setListener

void setListener (SwipeDismissBehavior.OnDismissListener listener)

设置发生解雇事件时使用的听众。

Parameters
listener SwipeDismissBehavior.OnDismissListener: the listener to use.

setSensitivity

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.

setStartAlphaSwipeDistance

void setStartAlphaSwipeDistance (float fraction)

视图的alpha之前的最小滑动距离被修改。

Parameters
fraction float: the distance as a fraction of the view's width.

setSwipeDirection

void setSwipeDirection (int direction)

设置此行为的滑动方向。

Parameters
direction int: one of the SWIPE_DIRECTION_START_TO_END, SWIPE_DIRECTION_END_TO_START or SWIPE_DIRECTION_ANY

Hooray!