00:00
好,接下来呢,我们讲解第七个例子啊,也就是图片这个加载的监听啊,同样道理,我们还是看一下这个代码的一个效果啊,点击这个图片加载监听啊,你来到这个页面,然后点击开始加载图片。哎,这个图片就加载过来了啊,这个是最终加载这个图片效果啊,其实呢,这个是采用这个渐进式加载这个图片啊设置的,呃,这个呢,由于这个网络比较快啊,它没有这个渐进式的这个效果啊,一会儿呢可以看一下代码,它有这个实现这个监听啊,那好这个页面布局啊,给大家说一下啊,这个上面呢是一个t bar,中间是一个simple view啊,下面呢是一个button点击请求的,下面这个地方呢,是一个啊test view啊,其实这里面有两个test view,如果你这个图文加载的慢的话,有这个渐进式效果,那么还有一个text view啊,这是两个不同的text view啊好,接下来呢,我们开始写我们的代码。早日。Fris。这加载图片的监听又一个tenri activity this fra卡listener。
01:18
二加回车启动跳转,建议探探传起来。又见你有一个。之后呢,把这个布局啊实现一下。布局啊,布局在哪儿呢。在这里面。Can you see。带着大家同样啊看一下这个布局啊,还是整体是一个垂直的这个线性布局啊,中间这个地方呢,是一个title棒,再往下是这个simple review view啊simple review再往下呢是这么一个开始加载图片的一个button,下面呢分别是两个text view啊,两个test view,这个呢是这个呃,正常加载图片一个回调监听一个结果显示这个呢是带渐进式啊加载这个过程,这个一个图片呢回调监听啊好,那我们回到这个主页面。
02:26
在这里面out shift加S。生成一下想要的对象。这个button我们就不要了,太子我需要,嗯,他不需要。啊,这些空间IDA,首先初始化一下这个标题。Set test。这个呢属于图片加载监听之后呢,我们处理一下这个button的点击事件。
03:05
啊,CLICK2点ID点。啊,VID。八的点击时间啊,我们就准备好了啊,也这个布局呢,我们基本啊也就准备好了,接下来呢,我们实现一下这个代码这个逻辑啊,首先带大家看一下这个代码。正常加载图片。啊,这里面啊,看着挺复杂啊,其实非常非常简单,带大家捋一下,首先还是从下面最下面开始set一个controller啊,Controller,那么这个controller再往上啊,就到谁的呢?还是这里面fri a new,一个builder,这里面有一个set order controller啊,这都是一样的,跟以前都一样的,这个地方set这个image request,呃,Request请求啊,也是一样的,就是这个地方啊,加了这么一句话,加了一个什么呢?Set controller listener。
04:11
这里面你需要传进去一个control listener啊,对这个图片这个加载过程进行进一步的监听啊,那一会一会来看这个control listener,那上面这个地方啊,Request同样还是你这个image request build里面传进一个U之后呢,是set啊,Processive re,也就是渐进式加载这个功能,嗯,给它开启了,最后呢,上面这个地方就是这个图片呢,具体的URL啊,上面这些。哎,就是你渐进式加载图片的一个这个图片质量的一个配置啊,什么情况下达到这个图片质量啊,达到你满意了啊,它就是不再进行渐渐进式加载了一个设置啊好,接下来呢,那我们写下一下这个代码。来到这里面,首先还是从这个底层开始写。
05:01
然后他对象。这一个controller,你需要一个controller。Out加回车生成啊,那么这controller是fris点又一个build controller点2BUILD啊这样呢。基本工作啊完成了,那同样的你还要set一个order controller里面来一个SDv.get controller啊,所有的程序啊都要这么去写,这么写完之后,接下来就加点区别了,点set em image request,传进一个request re request生成一下。这么它里面request builder点又一个builder resource里面需要一个UR。
06:04
最后呢,点。That啊,这个uri必须得先生成了。Uri pass这个路径呢,我先给他传过来找一下。就是这个图片。啊,图片的地址。下面呢,是这个请求。再下呢是图片加载的控制,再往下呢就是加载图片。那这个地方点set。
07:03
Progress。啊,像这个渐进式加载势能,最后呢,点build啊点那么你既然是渐进式加载,你就需要对这个图片啊,这个质量进行进行配置啊,这个配置呢,不需要大家去记啊,直接粘贴过来就可以了。I see。图片质量配置。啊,这几大步,那接下来那你正常这样呢,就是加载一张渐进式的这样图片,那么怎么样的这个图片,这个加载过程,这个监听呢?啊,那你再需要一个set,一个listener。Controller listener。里面传进一个control。
08:03
二加回车生成全局的。啊。啊,不是这个。这个地方啊,等于new一个base啊controller啊,它呢这个泛型呢,可以拿到这来。这可以干掉。那么在这发型里面啊,我可以同时嗯实现一下它的方法,Out save加s over method。这里面有好多方法啊,其实我们就关心第一个这个是这个加载图片结束这个呢,第二个呢,是这个渐进式加载图片啊,要是调用这个,呃,最后下面那个再来一个啊加载失败啊的显示,我就实现这三个方法啊,那这个写一下。这个方法呢,是加载图片完毕。
09:00
这个呢是间接。是加载图片毁掉啊。你这个是这个加载图片失败啊,加载图片失败这个方法呀,只有你这个在加载图片的过程中啊,产生了这个渐进式,比如说先这个呃,加载这图片这个外围啊边框啊,最后再加载里面啊等等这个过程啊,如果它非常非常卡,那他可能会用这个方法啊,如果说一下就下载完毕了,那他最终就会执行走这个方法啊,这个方法,那这里面具体这个方法这个实现啊,我直接粘过来就OK了。呃,找到这个。监听。鉴定过程啊,这里面这个呢,就是加载完毕之后啊,这个是将这个图片的质量啊,完完整整的打印出来啊就OK,下面呢,这个是啊间接式驾驶过程分别打的这个test。
10:02
好,先站过来。啊,差一个。啊,带大家看一下,看一下这个加载完毕之后啊,他干了什么事情,它首先呢,得到这个image in for,也就是你加载这张图片的这个信息,首先它get这个query INF for,也就是你这张图片的这个质量啊,获取图片的质量啊,啊这里只是以这个获取质量为例啊,其实你还可以做呃,其他事情,因为你图片已经加载完毕了,是吧,可以做其他的任何事情,那获取完这个质量之后啊,这里面有一个get啊,Query以知这个图片这个等级,这个呢是获取is of good enough啊就是否达到这个完整的完全的这个显示啊,图片效果最佳啊,达到这种程度,下面这个是这个if of a for query啊好的质量啊,完完全覆盖这个等级质量啊,是否覆盖等等这些图片的这个信息,包括这个图片的这个啊,宽图片的高啊,这些信息只是一个打印。
11:23
显示啊啊执行打印显示啊,下面呢,这个是呃,打印了一个,如果它会执行这个渐进式,那么这行代码就会这个显示到这个text view上,这个呢是如果加载图片失败,那就是把这个失片失败的原因啊打印出来啊好,那接下来我们运行一下看看效果。点击这个F卡。点击。图片加载监听开始加载啊,它瞬间就加载完毕了啊,根本就没有这个渐进室内过程啊,因为这个我这个速度还是比较快的网速啊啊好。
我来说两句