00:00
接下来我们做一个功能,就是支持左右无限循环,现在你看好在我们这个地方里面划划划划,最后一个划不动了。是不是变成这个颜色了,这个也一样,那么要想让它支持无线滑动怎么办呢?对不对,怎么办呢?其实其实我们是有这样的需求的。其实这个需求呢,嗯,怎么说呢,也就是说他有这样的需求,但是呃,就看产品经理了,产品经理他如果他就需要我无限循环。无限循环,那我们都得做,但是我们现在是不能无限循环的,对不对?那这怎么办呢?我们就要做一做,让它可以左右无限的循环。好,那其实我们可以怎么做呢?这么做,我们在这个地方里面,把这个适配器里面的总数把它变大。之前是这样子的,变为多大呢?变为是我们的这个的一个最大值,这个值有多大呢?
01:02
好,大家看一下过十百千万,十万百万千万。10亿有20亿朵。那二十一二十一亿多,那这样的是不是很多了,那就可以左右滑动很多了吧。好,然后大家注意了,因为我们这个地方里面这么多个货,但是我们图片是只有五张啊,那如果你去五那边去取是肯定会越界呀。肯定我们的这个数组,实际数组以及这样的一个类型数组边界啊。因为我们这边有多少张图片,我们就创了多少个image u吧,这个时候如果你有这么多是有可能往右画出崩溃啊,所以注意了,这个位置选中是不是有可能很大呀。那所以大家要注意,我们只要有位置的地方,我们都需要进行把它去磨吧。是不是好,那么在地方里面好,哪个地方用到位置啊。
02:01
这条你的位置吧。好,这个地方没有用到位置对不对,好,那我们就是在这里面要取这个位置了。那么就是in特雷型啊,这个雷哦,真正的一个拍雷去针的位置,然后这是一个位置吧,这个位置是不是有可能很大很大呀,那么对谁去压是对我们的集合呀,好一个塞子是这样子啊,然后我们用这个就可以了,当然我们呢也可以把这哥们呢这个用一用就是。呃,当然我们打印的时候还不变啊,你会看到这个值啊,它会变的很大,好这个这个打印没有问题吧。这无所谓是吧,好,那这里面都不需要做,但是这里要都做。类型,然后等于。
03:03
啊对,这个取模是这样子啊好,那有的客户把这个值存进去。是吧,然后这个值。进去这个值改一下,这个值要改吗?不用改,因为我每次就把它给赋值嘛,对不对,好那么在我们地方里面的话呢,就这样子好,我们去运行起来给大家看看,其实这个地方呢,还是有一点问题,大家看好。我们运行起来,在我们的模拟器上。我们现在右滑。往右滑,好,确实可以无限的往右滑。是可以了吧,但是有一个问题,我们在地方里面刚才没有把它暴露出来给大家看,好在我们这地方里面,我们一点。我第一次往左滑滑动吗。滑动吗?因为这哥们他实例画的时候是这样子的,就说这是一个屏幕,然后呢,他这里面他默认实例画两实力画几个啊两个,然后我们往左滑的时候,我跟你说他划不动就不让滑,但往右边是有好多个页面呢。
04:16
好,因为它默认是从哪个位置开始的呀,从零开始的,所以就是我们在这个地方里面,它默认是从零开始,然后这个时候你往左滑是没有了。那么我们能不能这样,假如你有很多页面,我刚开始让你定在中间。在中间呢,就是10亿左右。啊,他不是有S11亿吗?10亿多,然后自己左右滑,我左边有10亿多,右边有10亿多,你想咋划咋划。那有的同学会说,老师啊,那咱们万一这哥们没事干活了,111亿都花不完了怎么办?那划完就划完了呗,谁有心思划这么多,是不是足够满足你的需求了,对不对,是不是?但是他更默认的话,这哥们是从零开始,所以你往左滑是不起作用看。
05:07
对不对,不起作用啊,不起作用啊,你看不起作用,所以的话,我们把4V当中就可以了。好,那么我们只需要在这个地方里面设置我们的这个中间位置。这些位置,然后这里面你配解它有个方法叫做set我们的卡的it。注意这个位置可以用了,以后包括我们软件架构的时候也要用的到它。就比如说我要我要用切换到云配的某个页面,那某个页面就是我们软件的某一个页面了,这个时候要用到它后面软件啊,后面的软件价格也用了,大家仔细注意啊,这个通过它。通过它可以进入某个页面,还可以让它自动滚动。就我隔一段时间就自动去什么。
06:01
在这个基础上加个因数可以了,就比如说我自动切换到下个页面,就是先得到当前的位置,再加上一次自动切换到下个页面了。对吧,那么它还可以定位到某一个位置,知道吧,好,就定位到我们的中间是吧,好,我们就要定位到中间的位置了。然后中间的位置的话,怎么做呢?可能有些同学很简单,就是哎,我们的怎么样max除上来。是吧?但是除上二,大家有没有想过这个问题,就是?我们现在。不管有多少张图片,最终是从那五张去取呀,那五张里面他的。下边是从零到四对不对,那这个时候如果我们。在取这个值不正确的时候,不是五的倍数的时候,是有可能在取零,这个就有时取不到啊。
07:01
所以我们最好请求的时候,一定要保证它是五的什么整数倍,注意我们要做一个功能是要保证。好。保证。我们的这个image。一米九又十得什么整数,这个一米九一米九又十是不是就那个集合啊的整倍,那不是就是我们总共五张图片嘛。好,那这个怎么做呢?好,他其实这样子的。它等于。啊,等于这个们除二过后再。取魔。点散热什么个意思呢?啊,大家你看我们可以套出来。举个例子,假如我们这个play类,这个类是动态的呀,这个类显式可能是S12,可能是各种参数啊,你看啊,我们随便取个数,它都可以是我的整数倍,我举个例子,特殊例子,假如这个当前它它可能是一个S。
08:13
S2除以。22除上二等于多少一一那一十一四如果是按照我们之前这种做法,11假如这里面它它就是有在perion的时候,Per的时候,它可能是per的时候,它可能是这个这个啊。它可能是二二,那这个时候除以二是不是等于11啊,11是五的整坐边吗?那不是,那是不是就无法取到零了?是不是从一开始取了,那这个时候我们就保证它是的五的整数背,其实目的是五的整数背啊,好,就是我们只把它当成类型啊,只是一种啊,只是一种,嗯,借他这种思维过来讲,那这个地方里面,如果我们去减掉过后,这里面是一,11,然后在这里面一除师的11啊141对这个五取模是肯定零到五之间一个数啊。
09:08
好,那么这个时候是等于多少?是是一啊,你看啊,这里面一除等于一,十一一十一对五取模是等于一啊,那么11减一是等于十啊,十是五的整数倍吧,你随便套一个数。都可以是五的整数倍,比如说假如这个地方它动态返回是个五。是吧,那么你去取的话也是整除倍啊,大家可以算一算,那这个时候呢,其实就是五的整除倍就行了,当然你可以减十,你看我们现在是不是很大呀,你也可以选个800,然后这里面中间是不是就中间应该是多少啊。假如这个集合是。800的话,中间是。399吧。是不是大家不不能是400对不对啊,当然就是你就选个400也没问题,无外乎是不是,无外乎左边是多一个,右边少一个嘛,对不对,是不是OK,那么在我们这个地方里面呢,我们就去定位到中间,好大家看一下定位到中间。
10:10
这个时候我们再看看了。那定位到中间过后呢,这个值的话,我们去取的话,这个地位中间它是一个具体的某个值是吧,那这一方里面好,我们去运行起来给他看,看了好运起来。好在我们地方里面密起来。好。好,那这个时候大家可以看一下,好,我们往右滑。好,往左滑。好,那么呢,这时候是可以了吧,当然我们再重新进来感受一下,往右滑可以往左滑,你看是可以了吧,是不断的往右滑了,好,那这个时候就可以这样去滑动。好,那么但是呢,它有1.bug,这系统的bug,比如说我滑动一点过后。
11:02
他有时候嘞。诶还滑的还行,就是有时候你看他有有那种回弹看到没有。就说呢,这是系统的问题了,就是于佩姐它有本身有这么一点点小bug,好还行啊,你看刚才看没有,刚才有个回弹,好它就有这么一个问题,大家呢,可以把这个数字改小一点,就是比如说你把这个改小点,比如改出800 800的话,左边400张,右边400张是400下,是够着哥们划划一阵子了吧,对不对,没有谁这么无聊,而且划左滑右滑,发现图片就这几张,他也没没啥心思划了,对不对,是不是,所以永远可以滑的动对吧?好,那么也就说像我们这样已经足够大了,那那同学们这个知识点就是我们让它左右无限的滑动,只只需要做的是。取中间的,然后再设置max。对吧,设置这个是什么最大值,然后其他出现位置的地方把它取模就可以了,好,那这个就是我们支持无线滑动好。
我来说两句