00:00
啊,用低温bug过后呢,它特别简单,然后它可以可以就是用相当于它可以类似于意图那样传递数据,图里面我们之前是传递一个列表啊,它还可以,那是我们把列表放在一个对象中,自然就传递过去了,特别的方便啊,包括还可以相当于还可以替代我们的handle的啊,大家可以在以后的项目中可以适当用一下啊,啊特别简单,但一旦会用好,那接下来我们做什么呢?接下来我们要讲下一个知识点了,就是我们的显显示歌词的这么一个空间,那显示歌词的话呢,就是我们要去写这么一个类。好显示歌词歌词的对吧,然后这个时候我们去自定义吧,第一步自定义显示歌词类这名字,那么它。
01:04
继承什么呢?大家想一想,这个歌词显示出来。这个一个空间,好,我问大家,你们觉得他继承的是历史的呢,还是是还是我们的啊啊我再找位同学看一下,苏志强你说一下,站起来说一下,你觉得这个自定义控件,这个控件你觉得它应该是继承什么啊,继什么啊,是右是吧?错啊,坐下继神碳水用啊,啊是感觉很奇怪啊,是不是,哎奇怪,因为很奇,我为什么要找一个同学来说呢?其实这样的,当初我第一次做歌词的话,我也不都感觉特别神奇,我觉得怎么这么奇怪,他有什么用,这不是显示一个文本吗?
02:13
而且我觉得四个绿就是滚上去,这别好,音乐就是它呀,但是我跟你说错了,修太其实太太是可以画多行啊,就这样的话,当然加上一些算法过后呢,他就可以缓的往上走了,知道吧,所以所以的话,大家可能看看这个表现表现现象迷惑了,哎,这哥们好像可以滚动了是吧,但是我跟你说确实是错了啊,咱们呢要用的是啊这个test u去做这样的事情,然后有了过后第二步我们就要去啊,写完过后呢就要去啊,就是第二步选我们的这个假歌词,假歌词就是先做一个假歌词出来,然后让他先绘制出来,第三步然后啊,重选我们的这个工作啊方法,然后绘制当前歌词。
03:13
和前面部分和后面部分什么意思呢?大家看一下在地方里面,这里它其实是分了几步走啊。啊,它分了一个是当前部分,一个是后面部分啊前面部分一个是后面部分三步走,这个的颜色为什么颜色啊,绿色,但是把画笔是绿色就可以了,这边是做个复循环,就绘绘制前面两句啊说这就是说一个复循环了,甚至后面的。就这个意思明白吧,好一会的话,我们就去做这个事情,那歌词的话呢,好一个歌词里面,注意这个假歌词里面,我们要去,虽然是假歌词,它和真歌词一样,只是内容呢,我们可能是aaaaa。
04:09
那么呢,歌词的话,这时候我们要可一会可用LYRC啊RC这么一个类,那么里面呢,它就有三个东西,一个是歌词内容内容,歌词内容内容的话就是我们当时用过content字段,字段还有时间戳时间戳好咦,又是个新名词,啥意思在跑,咱们择日不如咱们还不如什么看一看是吧,啊,一不小心说成择日还不如撞日啊是吧?好,点击这个地方看一下这歌词。歌词的后缀是什么?LC或者是T都可以,我们随便打开一个,大家看一下,这就是歌词,大家以前见过,歌词见过,但你见过以文本这样方式的吗?好,大家看一下这歌词里面,你看啊,这个我们所讲的这个专业术语叫时间。
05:23
时间戳它其实就是某一个时刻开始唱这一首一首歌,知道吧,比如说你看这里面这个时刻就献给在各位同学对吧,就有这一句,我看啊北京汪峰这首应该有。是吧,比如说北京,北京我们有唱的歌词。我还没有做哦,有了有了是吧,你看QQ是吧,所以有现在在各位同学,所以就在时刻你们去执行这个事,他就会高亮对吧,高粱一怀,然后呢,在高粱一怀对不对,他怎么做到的呢?对吧,其实就是比如说这一个高量的时间,它是等于。
06:11
假如这一句它的高量时间等于它的时刻,减掉它的时刻是等于一个一个时间过度啊,那本身这是一个时间,戳它一个时刻,这个是歌词内容吧。所以呢,这个时它会有三个字段,一个是内容,还有一个时间戳,我们就叫看谱碳时间的一个破in时间点,就是间戳,还有一个休眠时间,就是高亮时间时间,这个高量时间呢,我们一会会用它的一个叫做实力辛苦碳,这就休息的时间呢,所休息时间我就把它当成就是高亮时间,高亮时间特别是休息啊,就一直画他啊,就是我叫这个名字啊,这当然你可以换一换。
07:03
好,那么也就是说我们就按照这个步骤去做出来,好写个类继成什么,这是用好,那让那些呢。View这里对吧,好,来到我们的这个地方,有一个view,右键创建一个类,这个类呢叫什么呢?U加个U吧,好,那么这个时候呢,继承什么呀,继承text的U,你看苏家同学一不小心中招了是吧,我埋下一个炸弹是吧,好好。那有了过后注意了,我选它两个参数,方法是一会一会我们一会要在布局去选吧,好CD4是定义显示歌词的键,然后有了过后把它右键。搞不出来。来到哪里啊,布局布局去把它定出来,在audio这里对不对,好,我要在它最下面去写啊,为什么呢?因为我我要在中间嘛,是吧,必须得在它的上面,部分的下面,在它的上面吧,啊所以的话呢,这个地方写个ID,这个是这个拓普吧,啊写得简单点。
08:27
好,那么下面这部分我就叫button。啊。等了对吧,然后呢,接下来我们在这个空间就在中间,好诶老师会说你你明明是写在最下面了,是我相对布局嘛,我可以定位指定的毛密嘛,对不对啊,然后它宽要填成附状体。好,然后呢。高全能上顶就把剩下的空间给填完,那么它在谁的下边呢?漏漏谁的下边呢?
09:09
拓普的下边吧,好。然后ID好拓普的下边,那是在谁的上面呢?对啊对,在波的上边,好大家可以看一下,我点地方是点到他了吧,他没有变变出去吧。所以这个空间只能在下面写,如果你在中间写反而会报错,因为因为他要拿到前面两个的引用吧,好,还有过后。ID这时候就叫我们叫什么名字呀,LYRC歌词的一个对吧。
10:01
这有过后是在这个累里面实力化一会还用得着啊。好,那这个时候呢,来到我们的哪个地方的这里是吧,找到的是不是啊,找到随便地方好好弯,然后把它给画一下。找到的里,然后这个时候FB对不对,白了吧,好接下来我们继续写了,在这方里面是构通方法有了吧,既然我们得到的空间高和宽呢,好这时候呢,它会有一个这样的方法哦,这个时候当这个方法也不会回调,回调过后呢,我们得到高度宽,把高宽我们把它定出来,可能形VD提取啊特能型H取,这是这是个这关了,这个当前空间关了是当前当前空间的宽和什么好好宽的话在这里。
11:17
好高可以去对吧,记住了吧,好,接下来有过后这个方法一掉,它会掉一个。In in,这个方法是我们自己选的吧,好有过后呢,我们把它给创建出来,好有功夫,我们的地方里面的话呢,就要做一个事情。假词就是说我们现在是还没有时间去解析它,因为解析它是一个浩瀚的工程,就比较大,我们先做一个假的啊,就装一个假的集合在里面,好,那这时候我们就做这样一个集合,好,L list,然后这里面就LRC,这是歌词吧,LYRC这个类有了吗?没有?
12:09
对吧,创建这个类这类的话,我们就放在独立里面。好,然后这个刚才这个对说了要用哪些东西啊。这个好,要把它给。选项是这个好,那么接下来这个是课程内容吧,啊实际类型对不对啊实际类型,那接下来还有歌词的什么,歌词的时间点动类型啊的一个还有高中时时间吧,好然后实际对吧,好,然后有了过后下概的方法。对吧,然后在求出镜吧,求出好求出来来选中就搞定了,好,那这个内有过后在地方里面,接下来一进来是把它给使劲画出来,好好这时候就是就甲格死了。
13:21
就是添加我们的假歌词,歌词加歌加歌词了,特加歌词好,那有个后我们做一个什么循环呢?不循环应的等于0I小于1000条,1000条是吧,加掉,然后这个时候大家想想。我们这个时候他六一个歌词啊,我们可以在这里溜吗。可以在定律吗?可以是吧,然后有了过后这地方设置它的内容,内容的话我们就要A。
14:08
然后这里面加上一个什么,哎,就证明每一条是不一样的啊,没问题吧,好,接下来再设置它的休眠时间,设等SLEEP2秒钟。一一秒钟啊,一秒还是两秒啊啊加上一个安是加安,其实变化不大,对不对,然后接下来。这是休眠时间,好,接下来还要做一个就是时间点,这个就不好弄了,这个要相乘了。所以他们的。时间点,时间点的话也是两秒,但是要相乘哎,因为如果你加速变化很小啊。就成他才会有一所变,有一所变化,那有过后是要把它放到哪里去啊,几合中A好,然后添加到几分钟呢好。
15:10
添加到集合中,那如果就这样的话,是以后都以他为实力啊,那肯定有问题啊,那怎么办?再加过后是神经创一个新的实例,然后再提出添加。这种代码大家想过吗?行了吗?什么意思,一进来是先创建一个实例啊,然后是把它设置好了,是放到集合啦,接下来再六一下是把这个重重置啦,是新的语句啊,你六个它这里面还有它有这个内容吗?是没有啊,是重新设置啊,所以好多放到里面去接661个明白了吧,是语句会吗?不会的话你就写,写个两遍就会了,感受一下,或者直接写在里面也是可以啊,只是我你想啊,咱们来上硅谷学不直接学一种技巧嘛,我知道学到里面是直接选里面就更可以啊,更简单,就比如说有同学讲的,诶老师你这么麻烦干嘛学里面,OK,这个也不要了,也可以啊,这更更更简洁,但是也就是有一天这种想法你也得懂,而且这种其实性能更好,明白吧,它是没有这个代码是不用重新定义了。
16:23
而且它都会节约一点点空间了,明白吧,明白吧,这种显示性能要高一些,知道吧,所以这么写啊,但是其实也高不了多少,对吧,高一丁点。好,那这个数集合就有了吧,好,有了过后,接下来同学们,我们接下来绘制歌词了吧,好就。绘制歌词,这个时候我们是有有集合我才绘制啊,好LYC他要什么啊,并且什么要塞,什么咖啡林,那如果没有大于林呢。
17:07
这是这是什么歌词还词就什么没有歌词啊,没有歌词,那你没有歌词,你是告诉下老百姓的,要不要老百姓干等的。那怎么办,就就是说啊,没有找到歌词对吧?好,这里面就是在屏幕的正中央。这个是除上的少啊,高除上啊,这平重要吧,还一个画笔。看这画笔应该是什么颜色啊,绿色对吧,因为他没有找到个色,是只有一句呀,好,这个要改不是佛的类型吧。对吧,然后要把什么。
18:01
这上面给你出来颜色看。设置我们来看呢,没多少,没什么不对,那是不是看句子啊,设置看句子啊,看句子是哪个方法好,还有要设置文字的大小。多少一六好,还有设置对齐,对齐这个。他来画笔里面的一个参数居中吧,啊,这个是设置居中,是什么居中呢?这个参数可有用了。
19:02
画个图,假如说你这是一个屏幕,然后你以以前我们设计居中,可能就这是中间,那设计中你这里开始画,这是一个文字啦,这种是我们想看到的吗?不是我们应该是这种。正居中啊,所以的话用它就可以居中,知道吧,你可以把它去掉,掉一次就知道不居中,好,那这次有了过后,诶画笔咱们有了,接下来我们就要有歌词的时候,就要画三种情况,一个是画当前句吧,绘制当前什么局。还有一个就是什么绘制。会字前面部分,第三会是什么?会是后面部分呢?
20:08
是不是啊,哎呀,大家想想这个怎么怎么回事呀,对不对,好大家看一下在这个地方里面。我们要绘制的是当前部分,这有一行啊,前面的有多少行啊,是好几行啊,具体多少行我不管我说或清盘就可以了。这个也是13部分呢。这个是什么颜色啊,白色他们一样的,这个是一个颜色,虽然有两个画表,至少。接下来我们就要绘制了。绘制当前句比较简单。嗯。好当前句是得到,先要得到当前句的这个内容啊,好所是间类型,然后呢哈嗯是当句那容啊,然后他从哪里来呢?Get谁呀带所以那首是就是下面语句啊,就是第几句啊这个自段我们要把它什么。
21:16
定义成那个怎么样,这是第一句歌词,歌词下标的,所以什么意思?是不是我们歌词有多少句,刚才我们用到假歌词?有零到9999是不是,那么这个是代表的是从零到九千九百九之间任意一个数吧。明白吗?咱们录了多少句歌词啊,1000是吧,咱们1001,那就是总共从零到1000吧。一千零一夜这个小说看过吗?是吧?一千零一夜那一夜怎么办呢是吧?
22:02
好,那么接下来我们干嘛嘞?好,这个时候我们就要去得到这个位置以后,它其实返回的是一个对象啊,那这时候我们不我们关心的是什么,对不对,这样就绘制了吧,啊,然后就。是什么?这个它坐标呢,上高呢。也是出上说啊,画笔呢,看欧耶当天就很简单吧,但前会的前面部分就要麻烦一些了,那行I它在,I就是它,其实I它就等于什么index减多少一吧,这才是前一句吧。然后I。
23:02
应该是什么?因为是一减减减啊大于零吧。大于或等于零是不是啊,然后I什么减减是把前面部分挨过去,把它给变废出废出来啊,那这个时候我们就要在绘之前注意。我们这个时候你觉得这这一句的坐标是减掉高度啊,减掉一行的高度就可以了,所以得到它外装坐标吧。好,那这个时候我要先要得到中间这个坐标,这个的坐标,然后再减就可以了,中间坐标怎么得啊,我们写一个float类型碳图Y等于我们的高除上二是可以啦。然后有了过后这个地方里面呢,首先我们这样也别着急,先讲内容实际类型,然后是啊,上一部分content内容的这个,然后列表,然后get我们的I是不是啊。
24:12
因这个地方它是默认是减一啊,哎,然后就get我们来看看这么问题吧,好那有了过后嘞,我们这个时候要去选它的这个坐标。啊碳普它嘞,等于碳普减掉碳本的高吧,It是不是剪的剪的高啊,那剪的高速度跑到哪里去了,跑到上面这句啊好,那这个有了吗?好没有,那我们就把它算出来,好等于多少啊,20好20这面的高吧。那文本高,那这个时候我们如果做的OK一点,是可以减等于啊。是间。
25:01
等于。这个是这样可以啊,但是我们呢,还是这样感觉知道什么意思一样,对吧,然后这个们是有可能减后变,最后变成什么负一了,好那这个时候如是小于零了,那我们就把它什么呗。量我还需画吗?都到外面去,因为我是在个的间绘制这块区域,这块区域是咱们的空间了,你都跑到外面去了,都都都都都到外面去,我还会制你吗?是不是不能这样子啊,知吧,就就只能是画在你内部位置是不是?明白吧,所以我一定要什么,不就是超出了嘛,因为积小了嘛,好,如果是正常情况下,我才是灰质,对不对?好就就text吧,好,灰则是这个内容吧,然后坐标是呃,X还是中间一半吧,啊,Y是Y的话就变了吧。
26:13
Y的话就这这这个对不对,然后画笔要变了吧,画笔是白色吧,好我们还第一个白色的画笔。白色的画笔是吧?白色是很高贵呀是吧?诶是不是这个好外是吧,你们英文真好是吧,所以学学的话肯定比我学的好是吧,以后比我分的好就行了,好,然后把它给溜出来,哎呀是不是啊,把这些哥们都复制粘贴过来的的的的,这个白色哇,欧耶是不可以啦,那这个白色的画笔好把它给拿过来画画笔欧耶。
27:06
这是谁呀?前部分好,接下来就绘制后面部分,后面部分基于它改改。主牙复制这部分,看到这个主要我是重新以中心为起点吧,就是我还是以这个为序的,是不就到下一个坐标了,那这个时候这个这条是中间部分嘛,因为我从这个H曾经被改过吗?没有改,所以它除然是仍然是中间啊,他没有被污染过,这个字没有被修改过,对不对,那接下来这个改为多少一是下句啊,这个改为小于多少等一个什么袋子吧。是不是就你加过,你不可能超出他吧,这个是改什么价好,然后这个改为那种。
28:02
是不是这没问题吧,那么这个时候改为多少行,那加工后这个内容变了吧,变然后注意了在这个方面还是小于零吗?大于谁大于谁对大于这个这个空间高嘛,你们怎么想到size去的呢?不是它是这么嗨,那接下来就把它绘制简单吗?就这样耶。这还要变吗?在这里变啊,这里还变吗?不用变是不是啊,好收益嘞,是吧,好,我们就运行起来,这个时候肯定还还不可以滚动吧,但是我们应该可以,如果没输错的话,我们可以看到一部分歌词了,只是说没有滚动而已,对吧?好,我们运行起来看看,就是可能会看到一部分,但是这一部分都是AB先是A1 a2a3是不是好大看啊,没关系的。是不是A1A2是不是看确实看到了,但你拖动的时候没有任何反应,没有做处理嘛,但是这个空电确实被我们画出来吧,而且这个单参数大家一定要知道,假如把这个居中对齐干掉,你觉得会是什么效果,就往右了知道吧,同学们它就会到中间右边这部分到这里来知道吧,所以的话,这个一定要设置这个对齐给他看一看啊。
29:26
诶。哎呀,正在运行快了,点击一下。是跑右边去了,所以这个两个方法还是蛮有用的,对不对啊,所以大家知道哦,好,那同学们这一块就是我们所讲的串联歌词,然后的话呢,用它来显示好把它给。
我来说两句