欢迎光临散文网 会员登陆 & 注册

DEVLOG 10.17日 关于课表滑动的一点思考

2021-10-17 21:56 作者:房顶上的铝皮水塔  | 我要投稿

课表的主内容TableContent是设置在一个固定的位置,用户通过手指滑动课表查看在课表外面的部分。因此滑动课表需要确定边界,分别是水平边界和垂直边界。

红框表示显示在屏幕中的部分,浅色蓝框表示课表的背景,可以看到,有很大的一部分是在深色的背景,也就是屏幕可见范围的外侧的。


ScrollX和ScrollY深入理解

Android开发艺术探索上面写,scrollX表示当View的内容和View的左边缘的距离;scrollY表示View的内容和View的上边缘的距离,并且在文章中使用了一张图来说明这个问题:

不论是View的上边缘还是View的左边缘,这里实际上都是指View在布局中的位置,当我们滑动课表的内容,我们希望能看到更多的部分,比如这样:

滑动距离的定义

我们的手指在屏幕上滑动的move事件其实是一个一个小段的距离平凑而成,划出屏幕外面的部分会累积到scrollX(也就是这里的scrolledX变量)。所以假定不设置滑动边界,下一次出界的距离(scrolledX)应该是这样:


最大水平滑动距离

最大水平滑动距离应该是

最大垂直滑动距离

不好定义最大垂直滑动距离,所以我目前定义的是50dp


因此整体距离计算的代码如下:


DEVLOG 10.17日 关于课表滑动的一点思考的评论 (共 条)

分享到微博请遵守国家法律