00:00
好了,同学们,相当于这个就被我们给干掉了,对吧,接下来我们呢,就进入这里面,就自定义下拉刷新了,好了,同学们,我们要做一个什么样的效果呢?我们做成这样的效果给他看好,这是我们之前呢做好的。然后大家看一下,我给你往下拉。看到没有一放。啊,当然现在是有网啊,比较快我把网给断了啊,断了过后你看现在有个圈圈吧,一直在炫,这样的话真的刷新,如果一旦有网过后是就刷新了,然后就把这个隐藏了。当然他如果链接超时过后是你看刚才是也消掉了,对吧,要做这样的效果,看到没有刷新挺好的啊这样的做这样的效果。呃,刷新的时候就相当于重新去联网请求,知道吧,联网请求大家想一想,我们的数据更新是在哪里更新啊,服务器知道吧,所以我们客户端你就直接去请求原来的地地址,只要服务器更新了,所我们自然就更新了,是中间请求啊,现在明白刷新吗?比如说你们拿出手机诶往下拉,诶发现又刷新了几条数据,诶又刷新几条数据,但刷个微博吧,它其实就是什么从服务器请求下来的数据知道吧,要消除,所以对于我们那个地址是不变的,对不对,所以的话这么回事,那我们呢,也要做一个这样的一个下拉刷新,不管如此,我们还滑到底部,大家看一下。
01:39
是还有加载更多啊,对不对,因为我们手机不可能一下子加载1万条数据,那用户也看不了啊,不浪费流量嘛,是不是。差不多一瓶一两瓶过后,然后把花顶部,然后再去再去请求啊对不对,因为这手机啊,还是花流量的对不对,所以的话我们不至于全部,而且全部加来是以耗内存了,对不对?好,我们去做这样的事情怎么做呢?那我问大家刚才我们这个。
02:07
它默认你看往下拉有下下拉刷新吗?有吗?那是相当于要制定一个历史欲望是不是啊,那再选布局呀,对不对,那也就是说我们一会要做一个自定下询上询就在这样子了,好就是自定义下拉刷新,那么我们一会要讲的知识点就自义自定义下拉刷新,然后呢,要处理它的一个初步事件这个知识点。啊,然后这里面我们大概怎么去几个步骤去做呢?第一步要去啊字定义我们的一个啊一历史U,然后呢,实现下拉刷新,所以自定义属于五实际下拉刷新,那么这个类我们叫氯于这没问题吧。
03:05
刷新的什么好,然后有了过后呢,好第二步。你好。要重写就是要必须重写带有什么两个参数的什么构造方法吧,然后T给了过后呢,就是在构到方法里面把头文件添加,头文件是什么呀。就是下拉刷新的空间的这个吧,好给他看一下。那这个这个头,我们要把这个头啊添加。好,我们。
04:02
就把这个头嘞给添加知道吧。好把这个头给添加好,那么就是说把我们的下拉缩进控件,控件添加啊,这个空间添加,那添加过后呢,然后我们就要去。去把那个添加进来,添加过后这个时候,其其这个过程中还做一个事情,就是要自定义一个落或啊大家看一下啊,这个地方里面我也往下拉是有一个箭头在动啊,还做一个动画,还做一个就是你放的时候还做一个什么圈圈,这个圈圈系统是没有这样红的圈圈,我们需要自定义,这个呢,就是八知道吧,我们就自定义。好,有了过后呢,我们还会做一个第三步做一个就是。大家仔细看一下诶,我们随着我们滑动它动态去隐藏和显示这个顶部的这个轮部,顶部的这一部分呢,这个注意这个部分呢,是动态隐藏和显示,知道吧,我们一走,还有这个们一进来就是你看一进来的时候,它默认是隐藏了吧,往下拉出才显示啊这个都要做处理,那也就是说我们还做一个事情实现就是拖动实线隐藏和显示底顶部能不图。
05:26
啊,实现这个啊,头部空间就是说这个这样的事情好,那么这哥们拖动实现隐藏和实现又该怎么做呢?其实就是第一叫重显哪个方法他写他写一,他写一问这个方法就是这个方法,那从你这个方法过后呢,然后我们再去计算它这个距离。
06:09
第二计算我们滑动距离啊,第三然后的话呢,就设置设置效果好,那么这哥们隐藏和显示的原理是什么?就是说哎,我们怎么让这哥们隐藏,然后又可以显示呢?注意U里面在前面再给你补充一下一个啊三吧,这个就是四。好。那就是我们的一个顶部的这个就是我们的下拉刷新控件隐藏和显示的原理,它其实就是这个方法U,我们我们顶部这本身这是一个U吧,同学们这是U吧,对吧,我我们把它给一会把这一块除数啊一个U,然后我们让这个U呢,它有这么一个方法set上我们的盘定,那盘点的话,它不是有一个左边这个负负的控件的高零零,像这样的话呢,就是完全的什么隐藏状态,就是这个控件附的控件高是就这个控件的高啊好,然后呢,他就完全什么隐藏,那文件显示呢。
07:48
其实就是啊,就是一个什么零。那么这是完全显示好,那如果是这个空间的高呢。
08:05
两倍,什么两倍险是吧,两倍好显示这样子的同学们好,那么怎么这个就显示和隐藏了呢?给大家画个图好,比如说这是一个控件。这是一个屏幕,然后里面呢有一个。控件。中间好,那如果这个盘点为零。注意,对于这个而言,我就把它当成是一个什么下控件。我把它当成这个部分。我把他打。我把它给。我把它给当成是这部分,这么解吧,就和这个一样吧,好,然后如果我们为零,它就完全显示,如果是。
09:00
这样子是这一部分超出一部分还能显示吗?不能显示,如果是刚好是负的空间高,它就什么完全隐藏了,明白了吧,明白吧,就这意思好。然后有了过后呢。这就是。文件隐藏,但是我们慢的显示是让这个值改变,动态的,慢慢的接近于零,就慢慢的显示了,所以我们这个时候呢,计算的距离就变成这样子了,比如说我们的这个啊,啊这个第一是test,就是float类型,第一是ten啊第test的一个Y啊,它等于N的Y减掉什么start y,然后那么这个值下又还是空间高,它不能显示啊,是动态的呀,好,这个时候呢,我们可以这样做一个值。啊float它是它是int类型的啊啊这个有一个值就是啊pan d或这个值呢,就它就等于负的空间的高。
10:09
加上是吧,这个值来吧,那如果加上这个值的话,同学们将这个值,这个值是不是越来越变大,但是这个最终是负值,那越来变大是最终是接近于零了,接近于是慢慢的显示啊,当他们最终等于零的时候,是完全显示了,好所以的话呢,我们就相当于把这个。方法把它拿过来动态的改变这个,这样的话就是动态的什么显示我们的下拉,什么刷新空间,明白了吗?明白了,好,那同学们我们就要做做这样的一个事情了,这是伪代码对吧?好,接下来我们先自定义这个类,这一个类,然后呢,再把布局给写了。
11:04
好,那么我们在这个地方里面呢,就要去做这个事情了。首先写这么一个类。这里右键创建我们这个类继承的是谁啊,继承的是我们的历史的view对吧?好,然后这个是字地下拉刷新历史view对吧?好,那有的后把它的构造方法可以实现一下对吧?好那么这个的话同学们我们我们为来简单一点的话,这个直接调用类似这个为多少那。对吧,好这个呢,类似那这个嘞为零对吧,那如果你不这样显示以后在这里要出的话,这里要出的话,所以我们以后直接在这里出的话就可以了,好那么这个。
12:05
啊就有了,有了过后我们的地方里面呢,就可以去写这样的一个效果,这样的效果。是选这个布局了,开始大家想想这个布局该怎么选了。对吧,要怎么写好,注意啊,我们先来选一个布局的话,这个其实一个线性布局,左边是注意啊,这个抄写是一个线布局,左边是一个,这是一个真布局,真布局里面是一会一放,是有个圈圈的真布局,那这里面又是一个先天布局,明白吧,好,外面。又套一个布局,为什么呢?因为以后我想把这一部分变成一个什么,变成一个整体知道吧。懂意思了吧,就说我以后把这笔块变整体明白吧,变成个整体啊,然后这里面呢,我们外面有个先进布局,这里面有个先进布局,这里面有个真布局,里面有一个图片和SPA,这里面有个先进局,有个文本,有问没问题吧,OK,好,接下来我们就要来写一写了,好in好in的好,那要把这个上下文存进去吧,对吧,上文存进好音。
13:31
Ne had,没错吧,好把这串出来好有了过后呢,在我们这个地方里面,我们就要去选一下了,就是这个in out,然后hard view,然后呢,View in。Infl,然后第一个是什么?发下第二个是R点,点的是had。
14:06
就是就是氯氟氯刷新的一个的氯就吧,就选这个对吧,然后呢,为纳好,到时候呢,我们还要加载更多呢,就它做foot对吧,这个he。好,那么有了过后我们呢,一会要肯定要把它写成内的成变量啊,这肯定要写成内的成变量。好,注意我们最好把它改为先进布局,因为外面确实一个是一个先进布局,对吧?好这个时候呢,就是它里面应该包含的是我们下拉刷新和顶部轮播图,那现在我们里面是现在它暂时还没有啊,不把它加进来,先不加入好这样子,那么接下来有过后呢,我们就只把下拉刷新先做了,好这是一个历,这是一个新的布局吧,方向是什么方向,同学们,方向是速度方向吧,为啥呢?因为以后你看啊,我们是以后要设计这个整体啊,是这是这个整体,要是速度方向,这个地方才是水平方向吧,然是不是这里面有个真布局吧,这里面再有个线性布局吧,啊所以这个地方来输出度方向没错吧。
15:32
好,然后高的话应该是什么包果吧,好,它有多大多多大,没关系的,好接下来就是我们的一个下拉刷新空间,下面是一个顶部轮波图部分是吧,那下分空件它就是一个新的布局吧,刚才分析的好,好然后宽填充出状体高把我的型方向是刚才这位同学说了是什么方向,水平方向对吧。
16:13
好,然后他内部有个什么布局啊,布局好,注意这个的话呢,就是直接选80DP80DP。好,然后对齐的话,就是中间对齐,注意了,在我们地方里面,我们还要做一个事情就是。你看一放是有个圈圈,还有个还有个圈圈的是是先是做个图片,再有个圈圈吧。对吧,好,那这个时候呢,我们就要去先去做一个图片,那就也是80DP,好,然后呢,80DPSRC。
17:03
图片图片在哪里呢?在这里。好,那么这时候呢,就是这张图片好圈圈的话是我们自己做定义的啊啊。把它给拿过来。好就他对吧,好,那么这个时候呢,拉伸。好这样一个拉伸,好,那有了后ID是选一下,一会我们用得着它嘛,对吧?IV,然后我们就叫漏箭头啊没必要太长对吧?好接下来它下面有了过后我们可以预览一下。这箭头是没必要拉伸的,没必要拉伸啊,就这样看掉啊,就这样可以拉,然后呢,它的话呢,这一个地方里面我们还可以判定发个DP。
18:10
啊好看一点,然后这里面的话呢。嗯。居中好居中了,然后接下来还要做一个神,就这里面就有一个什么什么,如果是爸爸好也是80个DP好,80个DP好,注意这个圈圈注意啊,是我们自己定义的,知道吧,好,那接下来怎么定义呢。怎么定义呢?这个圈圈是这个地方,你看是有一个红色加白色,中间有渐变的,然后再做一个旋转动画就可以了,好所以我们先做一个圆环出来,然后呢,有个渐变效果,然后在外面套一个旋转动画就可以了,知道吧,比较简单,怎么做呢?好这时候要定义它的一个样式,注意是有个叫这个单词叫做不定期的,不期的,因为这个哥们你看你看到的是圈圈,你不知道什么结束吧,但是有进度条是有个可以知道结束吧,像这种是不定期的,所以用的单词啊叫这个啊,它是有原因的啊,你看这是这个单词叫不定期,那用什么job好,然后呢,我们叫卡度自定义的一个什么罗罗是八,好,我们把它给什么放出来,那这个时候要用的是什么?幸福形状是什么?
19:42
哦,是圆环啊好,那么这里面有一个参数啊,所以这一个参数没有用。可能这个应该这个参数大家从没有从没见过吧,2.5这个是什么,给你们看一下啊,因为大家肯定肯定没没看过,给你看一下这个参数什么意思呢?这个参数是一个内部内部还的比例什么意思呢?比如说啊,这个等于五的话,那什么意思呢?那么内部的半径等于环的宽度除以五是这个意思,这只有一个什么特点值越大。
20:23
圆的宽度越小,当唯一的时候看不到,但是我们还要厚度的比例。然后就是等于环的宽除以二,这个值啊被重写默认是三,那么值越大环就越小,那我们写为15啊,不要不能太大啊,就值越大圆环越小,好,那么这个时候呢,我们就选2.5,还有一个就是这个。好,这个的话呢,就是刚才我们在这里面看到的是多少啊,15就行了,15好,那这里面需要选单位吗?不需要选好,还有一个这个为force,哎,Force他那既然有force有to啊,所以to的话是若隐若现,Force的就持续显示,我们需要持续显示吧,OK,好,那接下来还要去做一个效果,就是它有一个渐变。
21:22
界面好,界面的话刚开始是什么颜色啊,你可以是白色也可以是红色吧,好,我们红色F f1234好,接下来还有个中面颜色吧,这个颜色是不是有个淡一点的井号八八。啊,FF1234是这样的一个,你看这是稍微淡一点的,接下来结束的话就是白色吧,N的井号123456白色好,注意这样呢,是几个颜色的一个渐变呢,然后这里面它还有个类型,大家看好有一个tap,它呢有一个有好几种,那我们要的是这种呢,是慢慢的扫射那种效果,首先扫射的就是就像光一样慢慢的变淡那种效果,知道吧,就是意思就是什么这样的效果,看到没有,它有一个渐变,这种扫射类似于扫射那种效果,好,那有过后这是一个圆环吧,圆环大家可以分泌览一下,这个时候就出来了,但是我们需要这个圆环要做一个转起来,外面还套一个什么旋转动画啊,这就是旋转的话从零度。
22:37
旋转到Q多少度呢?360度,然后它有一个坐标,坐标是在中间旋转吧,50%吧,好,然后好,还有的是Y50%,好好然后呢,把它给。
23:01
好,然后的话呢,这个时候。啊。把这个呢截断好,那这个哥们他是没有。我看样式哦,是这个,大家看一下这个命密空间是把那个什么那下面了吧,把它放在上面就可以了,好好虽然的话嘞,就可以了,看到没有注意,然后把它什么剪切,把这个给什么包起来选择下,好那你现在看到的可能呢,还是一样的啊哦是多放了一个,OK,好,那有的同学们,我们再来来一下哦,这里没有啊多少第六行什么哦,多了一根是吧,很对很对,谢谢好了,同学们,在这个地方里面,你看到的有有的同学啊,可能如果用低版本避览的话,可能。
24:16
效果就是比如说你放一下啊视频这样的注意啊,所以你们当遇到这样的效果也没关系,也是对的,知道吧,啊如果你如果你是比如说你用这个它也是也是对的,你看是也有界面了,同学们一个比,但是呢,如果是用高版本阅览的话,它就这样,所以都对啊,你不能说老师你这个这个我的预览肯定不一样是吧?对的啊,这样只要是两种效果都可以。好,那么有了过后呢,好这这个没关系啊,这是有了吧,我们这个圈圈默认应该是什么隐藏的对吧,我们我们我们先这样没关系的,好接下来在右这个地方里面呢,要选个什么ID吧,好PB,然后就是啊我们叫做什么呢?是对次是吧,状态呗,好那接下来在这个地方里面再套一个什么新布局吧啊宽填充复状体,高包裹的型,然后方向是什么方向,垂直方向吧。
25:20
啊,因为我们现在做的就是这个文本了吧,这文本了吧,好那么接下来文本啊宽呢放点高包裹,然后啊,这个text的话就是默认的话是下拉刷新,那太的话呢,颜色什么颜色啊FF1234黄色文字大小18个P。然后ID,然后ID的话就是TV,然后呢,是啊state状态啊TV好,那接下来还有一个就是是时间。
26:11
啊,时间好,而且这个文字是灰色,灰色啊,这个文字的话就变成灰色了。这时候呢,就是五五好,那么时间就改为上次更新时间。上次更新时间对吧,有多少嘞,就说2016啊杠多少呢?八杠二三是吧,等等,因为更详细一点都可以,这个时间是这样的,就是你刷新成功过后的时间,到时候会讲啊,就是你请求成功了嘛,是不是,但是失败是不算了,失败不算成功了你才算嘛,对不对,好,那这时候就有了,那有了过后呢,我们要调一调好,那么这个时候呢,就是要竖直方向。
27:24
居中,然后有了过后呢,这个时候我们要把这哥们。内部。水平。亏了吧,然后时间水平。好,这个的话呢,没过来没过我们可以这样做,我们让它宽是改为lay out是内部,因为这个我们是填充的吧,所以要改为什么内部的是可以了,对大家看好。
28:05
咚咚咚K啦好,然后让它距离距离上边有点什么,有一点距离,就是比如说五个DP是吧,五个DP好,那这样的话就挺好看的,然后有了过后,那么ID也有了吧,也有了碳对吧。好,那这个就有了,那这部分是我们到时候动态添加进来啊好,这个部分ID我们要写一下,因为一会我们用得着它,然后就LL裤就下拉大的一个什么铝绿去是下到刷新了,然行好那么这个时候呢,我们就有了对吧,有了过后在我们这个地方里面,同学们这个地方里面呢,我们就可以把它给强装成什么什么了,先布局啊好,然后我们一会去把它给实例化吧,那这时候我们就顺便把它实例化呗,对不对,实例化就比较简单了,哎呀,哎,怎么实例化呢是吧。
29:13
好,这个得了一个对吧,好然后定义出来,好这个是刚才这个是我们就U吧,好这个是下拉刷新空间吧,下拉刷新空间注意其他生物都不怎么关心的啊,其他我都不不怎么关心,好然后这个的话呢,是也没有用。好,还有的话就是一个SPA对吧,还有就是我们的这个太六好,然后的话呢,好好然后接下来有过后还有就是体体态好,那么分别把这些给实力画出来吧,好实力画要注意要用实实力画用head吧,Find view I给ID点缀空间好然后把它给手一下,注意这个是一个什么下拉出空间这问题吧,不需要强转为啥呀。
30:39
因为这个本身我返回的是吧,好接下来好,那这个时候注意你看这里不怕错,但是不怕说是一个悲剧,为啥呢,到时特别容易出错对吧?好,但我们这样一会我们统一加上啊,这一个是箭头,还有是这个是。
31:01
状态好,接下来是这个text文本,这是时间。好这这两个都是什么,他属于好这个的话是状态是什么?呃,佛果是八好,但是不报错,这个时候特别容易出的,一定要拔是什么,一定要把这个加上,不加上你会就会什么会控制帧知道吧,就说你在以后用的时候控制帧,你实例化的时候不控制帧,就是你一用就崩了,是不是可以了吧,好可以了,好,那么有了过后我们是不是可以用一用啊同学们右键。拷贝来到哪里啊,同学们。来到table题的配解吧,找到我们这个历史U吧,看到没有把这个历史U改成这个,这没解吧,然后嘞,改一下,然后嘞点缀进去,把这个一改,哦耶好看好哦一起来,那么这个时候下拉双新肯定还没有,只是看到那个刷新的那个那个那个控件吧,对吧,我们一起来啊看好。
32:25
好。没没有,为啥我们添加头了吗?没有吧,好,这个是要什么添加头吧,是让它内部添加好,怎么呢?A是用一个refresh。U,然后类死点什么ADD什么,然后把谁添加这个吧,当成一个整体添加好添加头是吧,添加历史头用好头好,那么这个可以省略吗?可以省略是不是好可以省略,因为它内部嘛,好这时候呢,运起来就有了啊OK好,现在你看啥也没有,但是是照样可以显示啊,照可以显示啊。
33:15
啊,因为确实它是继承历史嘛,好起来。稍等一下。好,一起来了。他看好了。咚咚咚是默认就显示的对不对,默认就显示的是不是,但是默认这个们你看是默认中了吧,有点大是吧,一会我们可以调小一点啊,这个有点大对吧?好,那同学们在这个效果是不是出来了。好一会我们再调一下啊,那这一块就是我们所讲的什么呀,就是我们自定义,然后和布局就搞定了,把视频保存一下,大家休息。
我来说两句