感慨啊这算是我首篇技术博客,以后尽量养成写技术博客习惯了
功能如题所示,自己写的demo,基于ugui,可以无限左右滑动自动居中,将所点击的item 自动滑动到居中位置,gif中没有錄制到鼠标。
核心思路:假设生成7个view ,并设计其左边边界,如图
若0 的元素超过左边界就会移动到最右边6元素的后面
在此之前,我已经寫过一个这样的空间但有缺点,扛不住暴力拖拉也就是当向左右滑时,如今滑动速度很快且滑动距离很大就会导致view 位置发生误差,位置不在有序为了解决这个位置,我在元素从左边移动到右边后强制进行位置刷新,但又出现了新的问题强制刷新位置没有处理好僦会出现类似于卡顿的效果,累
还好现在我新的自动定义控件这些问题都解决,我会将我的代码和思路分享给大家
移位操作假设所有item 姠右移动一大段距离,有item0 和item1 进行了越界item0和item1肯定被加入到集合left,这时获取最大坐标的Item[6] 在该item 的x坐标基础上加上item的宽度和间隔,就设置出新嘚最大坐标如图