当前位置: 首页 > 文档资料 > BindingX 中文文档 >

事件类型

优质
小牛编辑
117浏览
2023-12-01

目前BindingX支持四种能力。每一种能力都对应一个EventType,在进行bind的时候,选择不同的EventType即可。

EventType说明
pan监听手势的pan事件
timing监听时间变化,用来实现动画
scroll监听滚动容器的onScroll事件
orientation监听设备方向变化,与web DeviceOrientation一致

每一种EventType都提供了一些预置变量通过让预置变量参与表达式计算,最终可以对视图状态进行修改。同时,每一种EventType都会有若干回调,通过回调函数,可以对相关状态进行同步。 下面详细介绍每种EventType的预置变量和事件回调。

pan 手势能力

  • 预置变量

    • x: pan手势过程中,横向偏移量。即(当前手指位置-手指按下位置),下同。

    • y: pan手势过程中,纵向偏移量。

  • 回调事件
    有四个时机会触发回调事件。分别是手势开始、手势结束、手势过程中触发边界条件、手势取消。每一个回调事件都会携带当前的state和deltaX/deltaY。下面是具体返回值。

    • state:

      • start: 手势开始。

      • end: 手势结束。

      • cancel: 手势取消。

      • exit: 手势过程中触发边界条件。

    • deltaX: 横向偏移量

    • deltaY: 纵向偏移量

timing 动画能力

  • 预置变量

    • t: 时间,单位是ms。从0开始。

  • 回调事件

    有三个事件会触发回调事件。分别是动画开始、动画结束、动画过程中触发边界条件。每一个回调事件都会携带当前的state和t值。下面是具体返回值。

    • state:

      • start: 动画开始。调用bind方法后会触发。

      • end: 动画结束。调用unbind方法后会触发。

      • exit: 动画过程中触发边界条件。

    • t: 当前流逝的时间。

scroll 滚动监听能力

  • 预置变量

    • x: 滚动容器横向的绝对偏移量,即contentOffset.X

    • y: 滚动容器纵向的绝对偏移量,即contentOffsetY

    • dx: 滚动容器相邻两次onScroll事件的横向偏移量差值(当前值-上一次值)。根据此变量可判断滚动方向。

    • dy: 滚动容器相邻两次onScroll事件的纵向偏移量差值。根据此变量可判断滚动方。

    • tdx: 滚动容器距离最近一次"拐点"的横向偏移量。

    • tdy: 滚动容器距离最近一次"拐点"的纵向偏移量。

      "拐点"定义: 滚动方向发生变化时的点。

  • 回调事件

    有三个事件会触发回调事件。分别是开始绑定、结束绑定、绑定过程中触发边界条件。每一个回调事件都会携带当前的state、横向和纵向的绝对偏移量。下面是具体返回值。

    • state:

      • start: 开始绑定。调用bind方法后会触发。

      • end: 结束绑定。调用unbind方法后会触发。

      • exit: 绑定过程中触发边界条件。

    • x: 滚动容器横向的绝对偏移量,即contentOffset

    • y: 滚动容器纵向的绝对偏移量。

orientation 设备方向监听能力

与w3c定义的DeviceOrientation一致,提供设备方向变化的监听能力。

  • 预置变量

    	* x: alpha和gamma发生角度变化在动画元素上的水平位移(范围-90,90)
    • y: beta角度变化时在动画元素上的垂直位移(范围-90,90)

    • alpha: 以z方向为轴心的旋转角度,取值范围为0到360(不等于360)。

    • beta: 以x方向为轴心的旋转角度,取值范围为-180到180(不等于180)。

    • gamma: 以y方向为轴心的旋转角度,取值范围为-90到90(不等于90)。

    • dalpha: 当前alpha值与起始alpha值之间的偏移值。

    • dbeta: 当前beta值与起始beta值之间的偏移值。

    • dgamma: 当前gamma值与起始gamma值之间的偏移值。

  • 回调事件

    有三个事件会触发回调事件。分别是开始绑定、结束绑定、绑定过程中触发边界条件。每一个回调事件都会携带当前的state、alpha、beta、gamma。下面是具体返回值。

    • state:

      • start: 开始绑定。调用bind方法后会触发。

      • end: 结束绑定。调用unbind方法后会触发。

      • exit: 绑定过程中触发边界条件。

    • alpha: 以z方向为轴心的旋转角度,取值范围为0到360(不等于360)。

    • beta: 以x方向为轴心的旋转角度,取值范围为-180到180(不等于180)。

    • gamma: 以y方向为轴心的旋转角度,取值范围为-90到90(不等于90)。