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

红框表示显示在屏幕中的部分,浅色蓝框表示课表的背景,可以看到,有很大的一部分是在深色的背景,也就是屏幕可见范围的外侧的。
ScrollX和ScrollY深入理解
Android开发艺术探索上面写,scrollX表示当View的内容和View的左边缘的距离;scrollY表示View的内容和View的上边缘的距离,并且在文章中使用了一张图来说明这个问题:

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

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

最大垂直滑动距离
不好定义最大垂直滑动距离,所以我目前定义的是50dp
因此整体距离计算的代码如下:
