Module: DragGear

档位控件,拖拽选择 (❗️注意:考虑到性能优化,android 系统在拖拽和移动动效中不会实时更新中间的文字)

Properties:
Name Type Description
options array.<string> | array.<number>

档位可选项,以字符串数组表示,必填

margin number

档位选项之间的间距,默认 12, 示意图 |12🛑12⭕️12|

maxWidth number

容器宽度最大值,不传则默认屏幕宽度。 如果所有档位的宽度 + 间距占据的宽度 <= maxWidth,则取实际宽度; 否则容器宽度取 maxWidth,各个档位的宽度和间距自适应减小。

containerStyle style

容器样式,设置宽高无效

normalStyle style

普通档位样式,如果没有设置宽高,则默认宽高为 50

textStyle style

档位文字的样式

selectColor string

被选择档位的背景色

selectIndex number

被选择档位的数组下标

onSelect function

选择某档位后的回调函数

Since:
  • 10011
Author:
  • Geeook

Methods

_onPanResponderGrant()

手势开始回调

_onPanResponderRelease()

手势释放回调

animated2TargetIndex()

以动画效果移动到目标选项,不管是释放还是点击

calculateCoord()

计算整个容器的大小和在屏幕上的位置,从而确定每个选项的圆心坐标

getClosetIndex()

获取距离拖拽元素最近的选项下标 根据释放时的绝对坐标和各个选项的绝对坐标距离做对比

getCorrectLayout() → {Object}

根据选项的宽度、间距和 maxWidth ,计算容器实际宽度,选项实际宽度,实际间距

Returns:
Type
Object

getDragRange()

计算可拖拽的范围,以及当前被选项到其余选项的拖拽距离,每次释放之后都需要刷新

renderDraggable()

可拖拽元素

renderOptions()

所有的固定选项