00:00
下来在我们地方里面的话呢,我们就要讲下一个知识点了,这个知识点做什么呢,在这里。我们要去点击这个。就说我们加上一个丢怎么样。外面是。里面呢是六八层,好,那同学们。我们后面的两个目的架构都用到内,知道吧,说我们以后的内放在下面,知道吧,下面好同学我们的话要把它。这里面上面就在我们的这个麦的上面呢,选一个。这个那么里面的动态去添加,因为我们地方里面呢,你看123456,其实我们一的话会多添加一个页面,这个时候这个点是不是也动态了呀,所以我们能够动,能够在布局文件把这些这些内丢八显死吗。
01:04
不能。但是我们先在布局里面radio,然后动态添加radio。咱们内古洛普内八层讲过吧,讲过对不对?好,那同学们接下来呢,我们就把布局来写一写了。哎呀,来想一想我们的布局是吧,好这个地方里面呢,就是我们的这个。好,写下了。在上面。好,这个呢,卡住了。嗯。切换一下好,然这个时状对吧,然后这个时要方向方向方向方向,然后平中的这孩子,然后呢,可以这样截断啊,因为我不在布局里面写嘛,对不对。
02:05
因为我们在代码动态添加到了里面,好了,接下来ID这个时候R就是什么这个单词和这个单词简写,然后呢,我们叫B。好把它注意了这个,那么它这个V是在是在它的下面吧,所以我们选一个这个漏对吧,在谁谁的下边对吧。好,那这个时候呢,在它的下边,这样的话我们可以什么。知道是在它的下边了啊,当然现在我们一点的话还是显示它,因为它负了吧,那这个时候呢,我们在它的下面就可以了。过后,然后我们来到我们的是实例呀,好把它给实例好,然后在这里面去定义好radio。
03:07
是吧,然后在这里面使FBC好,在我们这个地方里面呢,我要去添加。我要去添加我们这里面有多少个页面,就添加几个绿豆吧,好,那这个时候我们就时候要去添加了,注意也要做一个负循环吧,小于我们MYMY配解他有多少个孩子吧,爱佳佳。那就。Button。然后一下,好,那这是我们的上下文,注意了,同学们一定要设置一下ID,如果你没有ID是不好区分的,但ID怎么设呢?好最好。
04:03
和这个位置相同对吧,那它ID是从零到。零到四零到五总共有六张图片嘛,对不对,零到五啊,零到五,零到五之间的这个ID。ID好,那有了过后注意我要把它添加V丢里面吧,好RG,然后addu,好,那这个时候呢,Button把它给添加到里面去对不对,好,我们去把它运起来。一起来。好,眯起来过后大家看一下,我们这个时候呢,好。你看我们这个时候就可以看到这样的一个效果是吧,好,那么我们这个时候嘞,在这个地方里面,你看啊,我现在点击是没有没有任何变化呀,好,那我其实我可以默认让这个点选动吧,那么我们这个时候就可以这样的同学们。
05:10
这个呃,如果让某个点显重怎么做啊,色的气可啊。对不对,那也就是说我们这个I它等于零的时候,它默认是不选中的吧,那我让它设成我们的切为two,是不是当第零个让它选中。好,那其他的不选中对吧,好,那么有了过后呢,我们可以给大家看一下,这时候选中了吧,但是我想做这样的事情。当我点击这个的时候,这个时候这个时候,然后呢,切换到下面对的页面。怎么做呢?是要做一个什么样的事情呢?
06:00
是要设置我们的radio的一个状态啊,设置radiolo,选中状态的变化好rt may,然后我们的on on清洁历程对吧。然后我们在地方里面直接写个累不累。好,那么这个时候有了过后也是不是也可以不选内部类可以吧,啊,两种都可以啊,但是代码不多,就直接选内不类了,那么大家想一想,我们这个时候ID是。是零到五,当我们选中某一个是也零到五啊,这个回调它回传出来的值,就比如说我现在。点击这回传的ID,这个ID应该是多少。
07:03
零点这个呢,啊这个呢。Day。啊四五对不对,这是五,因为012345分别出来,大家再想一想,如果点这哥们他回收的ID是零,是刚好要切换到第零个页面呢。是不是啊,然后这个它的值是零到五之间,那既然这个之间,那我们的页面是也是零到五个页面呢,它的页面的下边也是零到五啊,因为数字是零开始的。那么我们再回想一下。再回想一下,我们之前这个自定义类里面是有一个方法叫湿,是一个叫叫湿骷髅斯库。这个。
08:00
啊,就一个胚姐,还有印象吗?这个方法是他接收的,是根据位置移到指定页面呢。那也就是说。我。点击它是得到一个位置,然后指定到它对应页面去啊,把这个改为什么。OK,你看这个时候我就可以定位到对应的某个页面去了吧,好,大家看好,来这里。那么我就要用YV配解,然后它库库。它是有一个方法是to配减,然后这个七刚好是零至五吧,把它存进去好,这个时候就可以这个根据我们的下标位置定位到我们的具体的某个页面了。
09:02
对不对,好,那同学们,我们去把它给运行起来。你起来。一起来。好,大家看好。可以了吗?可以了,可以了是吧,可以了,这样的一个定位对不对?好这样的一个定位OK。然后我们有了这个定位过后呢,我们再看一个现象,在这张图片清晰吧,不错,但是再再看一下这张开始是有点模糊啊。有,有感觉吗?有点模糊,好,为什么呢?给大家看一下啊。呃,我们这个地方里面这个八六。啊杠四就4.2的模拟器,它的这个密度比。是多少呢?是mdpi。
10:02
好,那这个时候我们在这天里面的话呢。啊,如果是。你看MDBI里面的图片,刚好是有这张三张图片,前面三张啊,但后面是。它的清晰度其实也是一样的,只是说这里面通常是什么样的图片呢?是放高清一点的啊。那么。对于这个目录的图片,我们的模拟器刚好它又是属于。MDPI的就低密度的,那么低密度的手机它要加高密度的图片,这个时候它为了避免内存溢出。他通常会做一些压缩处理,所以图片你看B得比那个变得要稍微模糊一些。好,那如那OK的话,我们看一下,我们再把一个密度更低的。把它运行起来,这个一个非常小的,你看LDPI的有密度的,那它应该加载的图片应该是L的是不是,但是都没有,那么它这些对于它颜色都比较高清的,那么它可能密度的话呢,可能更加这个要模糊一点。
11:15
所以到时候以后做屏幕,屏幕适配的时候呢,有一个图片适配知识点,一般的话要放到我们根据不同的屏幕的这个值,就不同的这个值,然后来放不同的目录,到后面会讲啊。后面这个啊,有个项目会用到啊,就先先大家了解一下这么一个现象,好我们去运营起来。运行在我们的这个屏幕上,然后我们对比这两个模拟器。好,那么我们可以看一下啊这个。运起来。
12:00
好,然后给大家来看一下啊。看一下。不怎么明显啊。我们看同一张。这个。看不看得出吗?那我们看看。这张。清晰吗?啊,感觉差不多是吧,所就说一般情况下,同学们就是说啊,系统它是因为它本身的屏幕也小了,它把它压缩了,然后那好了,但是它小了嘛,它浓缩了,但是它确实压了啊,但是感觉清晰度差不多,但是呢,他确实做了这个事情啊。
13:02
好,那么也就是说同学们,一般我们要的是对应的目录啊,就是说大家先了解一下,这是一个前奏,后面还会有好。那么这个时候有了过后呢,我们在这个地方里面就实现这样的一个切换,好,那我们把它给关掉,大家再来看一下了。现在我们要解决这问题,这。我点。是感觉特别瞬间的那种感觉,很很快呀。是不是,但是来看一下我们之前做好的就是。看好。啊,这个不是。这才是我们做好了。这种书很到滑动结束啊,是特别温柔啊,就像那个。呃,神州是吧,神舟六号着地的首相他有要要着落,着落之前是不是他还要喷一股。一个一个喷击骨这个力量反力量,然后让他慢你走路啊,大家仔细看一下,你看啊。
14:02
慢慢的走了,看到没有。再看一下慢你着落对不对,好了再看一下这个。这哥们呢,就。看到没有,很明显吧,很生硬对吧,怎么办呢?好在我们系统自带的这个里面,它有一个方法大家看好。注册掉。然后呢,后面它这里面有一个参数。有一个什么参数呢,就是一个食堂。啊怎么做呢,这个时候我们可以因为时间,时间的话有长短吗。啊,时间有负值吗?没有对吧,那这是我们一般的用一个绝对值,然后这个地方里面呢,我把这个距离存进去,这个距离是不是我们跨过很多页面呢?假如这个现在当前上一次。啊,假如当前页面是零,你突然从个。
15:00
从六进来那六层这宽是好几个屏幕啊。减掉起始值是不是一下子很大的一个值啊,那这个时候呢,它就是时间就延长了啊,这样的话呢,它就就是你距离大了,是不是时间也延长了,但是以前的话都是固定的五五百毫秒啊。好,那这个时候我们可以来看一下。以前是固定的一个值,因为它以前这个啊,已经跟你跟你说一下,以前这个地方,你看它默认一个值。看到没有,它默认是200多少,250。系统默认是250,对不对,好,那么这个时候注意了,我们要。从这一个直进去,好运起来,这个时候呢,我们给大家看一看。好。你起来。哎,我看看再练习一下。好,那么这时候。很了,对,那现在有问后上面可以这样了,对吧,但是假如说我滑动下边。
16:13
上面是不是有变化呀。你看是没有变化,这样的话很郁闷吧。好,大家想想。该怎么办?当我们滑动这个页面的时候,发生变化,只有我们内部才知道吧,就是在这个里面,我们去切换某一个页面,你看当我一滑动的时候一放。这个是每次都计算这个值吧,你放的时候这个时候呢,它移动某个页面对不对。那么,我们能否?把这个当页面一旦改变的时候,这个值一旦改变的时候。然后回传给。
17:01
回传给activity activity知道过后呢,然后我们的地方就用这个们设置一个监听页面的改变。比如说它这里面设置监听页面的什么改。那么我们就需要用什么接口了。大家想一想,我们点击实验是怎么做的呀?举个例子。啊,那这个的话,我们在这里面我们设置点击实验通常是怎么做啊,设置我们的on click,然后六当我们对这个视图一点的时候。当我们这个对这个视图一点,当然我们是伪代码啊一点的时候,稍微回到这里来啊,同样我们在这个地方里面也要对这哥们进行设置页面的监听。是页面静听,然后当然页面一改变也自动回弹。
18:04
也回调,这这这个节点里面来。但是这个你看我一点,假如一点这个输入它就掉进去。他就会进这里来啦。那么这个点击实验他是怎么做的呢?他是这么做的,同学们好,我给大家就说,我们我们也要参照点击事件去做这么一个接口点击事件。首先点击事件,它是它是有接口的,第一它是定义我们的接口。定义接口电,然后呢,就是定义接口过后,它接口里面有方法,然后这个时候呢,我们要调用方法。第三,然后用户使用第四,然后的话呢,用户使用过后呢,就是第四回调。
19:08
回调好,那第一接口它是怎么回事呢?好,同学们,在我们的点击事件里面,我们就以它为例啊,我们这个地方里面。在这个地方里面的话,我们可以给大家看了,在这里面。You这里面它有一个叫。On click。Click。的一个接口。这是一个借口吧?好在这个里面它有这么一个接口,所以第一步它定义一个接口。然后嘞,好,他还要做一个事情就是啊,这里面还有就是要让外界。
20:03
让我们的使用者。传递接口。的实力进来。那这个时候会一个方,就我们这个方法就是进来吧这个方法。就是给我们用户者,让他重新进来。然后接下来我们存进来过后呢,它其实当我们点击的时候。他非要去这个方法要被调用吗?好,这个在这个内部里面,大家可以看一下,这个就是我们存进来的点击事件是实例化,就复制给他啊。好。我们相当于源码级的分析了,我们看一下,当我们在这个地方里面,你看这个地方里面我click是不会调用啊。被调用啊,当然我们看一下其其他地方被调用没有。
21:03
啊。Co。扣是不是调用啊。好,我们看一下还有哪些地方被调用。好。就这看到没有,这个时候呢,就调用。调用这个方法,这个方法这个实例被调用了吧。然后我们这个地方里面调用过后,用户怎么使用呢。用户对于我们来讲,这个麦里面我们用的这个是什么,这些用户使用这个方法六传进去。好把这个呢复制过来。这是我们用户的使用。好,那么回调怎么回调呢?当我们点击的时候。点击的时候,它就回调到这里来,通常我们在这里面就被什么。
22:01
点击实践就被什么被执行了。那就是在这个地方里面,就是调到里面来。明白吧,在这边回调。就是这这个方法就会回调的方法,我们从这里面就写我们代码。回调,那这个回调,那么这个方法一旦被执行,其实就是这里被执行,这里执行过后,他就这里就被。点击时间就被执行了,就这被调用的时候。就是整个点击实验的机制,就是一个接口,然后由外界实力传进来,然后我们特殊情况触发这个方法,然后调接口的方法,那么接口的话。引入过后是他的引用指向具体的实例啊,我们一点就操作那个具体实例,那具体实例是谁呢?就是我们传的这个实力一点,他就其实真正是点的就是他。
23:05
明白吧?这就是多肽。是吧,接口的实力指向。指向孩子的就是某一个具体类,就是这个类的接口的一个实例吧。然后没掉。其实真正掉的是这个接口的时间内。然后这个刚才是不是就是一个接口的实现类啊,就这么回事,这是点击事件。对吧。好。我们回过神来。接下来我就要参照这个点击事件去选我们的接口了。当我们页面一旦发生变化的时候。发生变化的时候。我是不是也要去调一下,把这个回调给。这里来,所以我也要按照刚才这个步骤,第一步一个接口,第二步,然后让别人方法。
24:05
第三步去某个地方调用,第四让用户用啊,第四回调,然后再写我们具体事件吧,好,那第一步选个接口。拷贝过来。拷贝过来,但是我们的接口可能不能叫这个了吧,好,那这个接口我们叫什么呢?我们叫on on change,就是当我们的页面胚解就页面,当我们的胚解清解离了页面改变。就是什么当页面改变了一个什么监听器好,那么监听改变后我们干嘛呢?好。改变过后,我们就是就是什么去移动的面,这时候就是啊,我们就叫这样吧,On。
25:03
啊,就当大家移到某个页面的时候,对吧,那这个时候我们通常要存一个什么位置吧,好页面的位置就是per play是不是这样的,好,那这个接口就是我们的监听页面的。改变对吧,然后这个方法呢,就是。当页面改变的时候。然后回调这个方法,并且把我们当前页面的下标回传。它就是单体页面的下边对不对,有了吧。第二步。我们是要写一个方法让别人存过来啊,好,这个时候。
26:04
我们这个方法我们就叫certain,我们的on。配件离心的。是不是他叫on click,那我就叫这个。是这样啊,然后他是用,那么咱们呢,用的是我们的这个类。复制改改这个呢。去掉。然后有了后缀L的话,是要某个人接收啊。好,那这个时候呢。这个时候。我们就看接收,接收的话我们也叫做on。是这个,那这个地方这个里面这个变量有了吗?没有这个重进的是是它是不是要写成一个那的成变量啊好on我们的推力。啊,注意了,应该是用的是谁这个。
27:04
是吧,好,这时候接受了吧,这个方法其实就是设置页面改变的什么监听是不是,你存进来是不是。是给外界传递呢?是不是接下来调用,调用在哪里调用啊,在U里面吧,因为U的状态地方我我我才知道吧。好,注意了,调用是调用它,它其实本质上。就是这个接口吧。然后调接口的什么这个方法吧。好,那什么时候调用呢,就。错了。我们在设置的时候,大家想一想,我们的这个接口设置的时候是在视图里面呢,那我们要把这个把它拷贝到哪里去啊。卡贝视图里面啊,啊在视图里面就是接口都是现在。
28:04
哪个地方有变化就写在这里,来到回调知道吧。好,你看刚才我们是在接口里面都在这里啊,啊是写在这里啊,写在这个视图里面啊,视图里面注意。然后那个后我们把它拿来,然后来到页面改变的时候。这个时候页面改变啊,好,我们就要判断了,它不等于空,为什么判空呢?万一这个用户他没有没有实例化它对不对,好那这个时候呢,On,然后是过去啊。这个是有可能用户他没有把这个存进来呀,存进来他才不等于空吧,所以我们要判空明白吧。好,那么这个时候有了过后我们这一步。啊就搞定了,接下来用户使用了这一步就设置用我们的点击事件呢,那这个时候我们是不是这样做了,它,因为它不是点击事件,对不对?好,那这时候我们就设置一个什么。
29:04
Shirt on解清解是不是,然后我们用一个类似于点击实验这用法一样的吧,当当。是不是这个其实本质上是谁这个。好,那么其实我们还可以这个啊,加上啊奥这个阿福是吧,你看都可以,你看啊,其实我就标识大家看,大家看一下F2。啊,在这个地方里面的话呢。啊,呃,这个。啊,这个这个这个接口里面啊,你看F2你就知道诶。没有。没有这个信息啊,那我如果放在这呢。好,这个方法里面我看看点到。那是,就这理由。
30:04
啊,这里。啊,没有啊,没有就没有啊,啊,反正就是这个方法对不对好。那么有了后呢,我们地方里面的话呢,我们就可以看到这样的一个信息,好。那么这个方法大家看看一下了,F2。好,这里面就告诉我们了,当页面改变的时候,回调这个方法。对吧,然后这个地方里面,你看是这个范围的注释吧。对不对,好,那这个时候呢,我们接下来这里面回到这个方法,那么他回传的是什么呀。是当前页面的下标啊,刚才我们选的注释还有印象吧,好,那么下标是刚好我们就可以让某个页面选中啊,好,就是lay RG这个地方的check ID,那这个位置是和ID是一对应的呀,还有印象吗?
31:00
是不是啊好,那也就是说这个位置它其实也是多少啊,从零到多少啊到五对不对,那刚好ID也是零到五吧,好那么这个时候呢,我们就运行起来,大家看好接口呢,咱们就被搞定了。好运集起来。起来这个时候我们之前的这个还是不变,对吧,还是可以这样,然后我们滑动这个地方看到没有。这样对吧,都很爽了,对不对,可以这样的一个滑动,看到没有就实现这样的效果,你看。是不是你用到接口啊,接口大家注意一定要会用了啊,它和大家如果以后不会选接口的话,你参照点击事件。对不对,点击事件是吧,定义一下什么的,你就按这个步骤来,然后呢,在里面对不对,设置它,然后调用啊按照这几步走。
32:00
对不对,好,那同学们,这是我们。添加内度过实现我们的一个切换页面这样的一个功能,对吧,好。然后把它给。
我来说两句