翻阅了文档,发现并没有拖拽组件,根据IOS的拖拽按钮产生了想法于是乎就自己想着实现一个
1.悬浮按钮拖拽,手指松开贴边
2.点击悬浮按钮显示工具栏
3.工具栏可以根据参数以window为基准左中右对齐,也可以悬浮按钮为基准点,上下对齐
首先需要在手指触摸的时候,手指滑动的时候分别获取到其坐标点,根据他们的差值,计算出悬浮按钮拖拽的距离.
1.2. 获取到手指触摸元素的坐标点(x,y)
left = 滑动时的x值 - (触摸时的x值-元素的offsetLeft)
top = 滑动时的y值 - (触摸时的y值-元素的offsetTop)
5.1 手指离两秒开后,使其透明化;当手指手指触摸时候,使其不透明化
** 以window视图为基线,偏左,偏右,居中显示的时候, 始终垂直居中,计算公式:
** top = (window窗口高度 – 工具栏高-工具栏上下边距)/ 2
6.1 工具栏靠window左边显示(以window视图为基线)
偏左显示的时候,left直接设置为0即可
6.2 工具栏靠window右边显示(以window视图为基线)
偏右显示的时候,需要计算left的偏移量的值
left计算公式:window窗口宽度 -工具栏宽度 - 工具栏左右边距
6.3 工具栏以window中心显示(以window视图为基线)
居中显示的时候,此时工具栏水平垂直居中
计算公式:(window窗口宽度 -工具栏宽度 - 工具栏左右边距)/ 2
工具栏以window视图为基线显示,代码截图
6.4 工具栏显示在上方(以fab悬浮按钮为基线)
获取悬浮按钮的距离顶部距离 和 工具栏高度,用来判断悬浮按钮顶部偏移距离是否小于工具栏高度;
获取悬浮按钮的距离顶部距离 小于 悬浮按钮高度,悬浮按钮top偏移量就向下方挪动
a悬浮按钮top偏移量计算公式:工具栏高度+20;
加了20 是让工具栏和悬浮按钮有距离
工具栏top偏移量计算公式:悬浮按钮顶部top – 工具栏高度
这个时候悬浮按钮顶部top值在 a 里面重新计算了
6.5 工具栏显示在下方(以fab悬浮按钮为基线)
获取悬浮按钮的距离底部距离 和 工具栏高度,用来判断悬浮按钮底部偏移距离是否小于工具栏高度;
判断条件:悬浮按钮距离底部偏移量 是否大于 window视图高度-工具栏高度
如果大于重新计算悬浮按钮偏移量 和 工具栏偏移量
悬浮按钮偏移量公式:window视图高度 – 工具栏高度 – 20
减了20 是让工具栏和悬浮按钮有距离
工具栏偏移量公式: window视图高度 – 工具栏高度
** 工具栏以fab悬浮按钮为基线显示代码截图
作者:田帅
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
登录 后才可以发表评论