00:01
好,那也就是说同学们,我们现在横竖屏切换看好。它这个时候是横屏,我嘞,这样切换这个们呢,它势必会执行一次,对吧,那么我们有有两种办法让他不自信,一是我就让这哥们保持一个方向,保持一个方向变成什么横屏的,你觉得横视频切换它有用吗?我就指定指定的是横屏了,是不是啊,是先死啦,那你觉得横出云切花还会吗?好大家好。你看好,然后我横着边切换。切换吗?日志打印出来吗?没有啊好,那假如说我又要横竖屏让他切换,但生命周期不执行可以吗?啊有一种办法也可以,就是说现在我横竖屏切换,大家看好,不管怎么切换是屏幕都是这样子的,但是有种办法就是它横竖边还切换,但是生命周期不自行可以吗?
01:16
啊,可以吗?可以吗?肯定可以啊,对吧,我都讲了嘛,是吧,你是见模隐藏的时候,我让它不执行,还有屏幕变大变小的时候不执行,还有我们的方向偏的时候不执行,好也就这三种,我就忽略他的生命周期,重新执行,知道吧,好大家看好。你发现?这个时候呢?好,我们我们是这个对吧,一起来。
02:01
大家好。你看是不是我,我想我想拖一下他好,然后你看苏丹兰可以继续播啊,没有从头开始啊,真没有自信,明白了吧。好,那这个时候呢,我们把它那个点击事件呢干掉,要不然一点老进到那里去触摸事件是吧,先把这个呢取消掉,好那有个同学们在我们地方里面的话呢,横视频切换好,我们可以通过这样,但是我们一般我们就希望它让它横屏吧,就那横屏吧,一播放横屏吧,看到看到大一点对不对,咱们看视本来屏幕比较小嘛,然后你还这个,你还是竖屏的,不就不好看嘛,对吧,好,我们呢,方向就改为我们的横屏知道吧,这样的话横竖频切换是更不影响了。
03:09
就这个方法,这其实这个相当于根本就你配置这些东西不起作用了,知道吧,他就是。就是横屏播放对不对,会播放好,那你看他天生就是横视频,就这样子,你横屏切换也不有影响,看到没有,它不会变化了啊,听明白了吧,好,所以他的话呢,有两种办法对不对,一种办法让他生命中不执行就直接指定方向,还有一种是配置,但是他也会恒水平信号,但是生命中就没有定,就区别呀,一是指定死的恒水平信号,肯定没肯定没问题,但是没有指定死的话,你配置这个,但是横竖屏它确实改变了,对不对,但是它没有重新创建对不对,是这样的。OK,好,那同学们有了过后,接下来呢,我们进一步下一步走了,就是横视频搞定了,那么还有一个控制面板。
04:04
这个东西要给他讲一讲,要不大家不明白。大家觉得是特别神奇,什么神奇呢?在这我一加上过后,我就可以对这哥们进行一个播放拖动,还行,时长,那假如说我把这个米注释掉,它就没有了,就感觉无比的神奇,真神奇嘞,是吧?好,我们去运起来,大家看好它就没有了。我这有点慢了啊啊,点击你看我点一下是下面没有了,我我点一下啊我的天呐,是吧,没有了,图也没有了,是不是就一行代码就能让我们有空的面板是感觉无比的神奇呀,其实内部帮我们封装了,大家看好啊,怎么做的,首先这个方法是谁的的对吧的。
05:00
好。然后的话呢,大家看好它这里面用了一个类,这个类是谁呀?这个类是一个真布局,看到没有真布局,所以大家看到的。这个。呃,要给它运营起来,大家看到的这是一个真布局。大家看到这是一个什么真布局,知道吧,然后真布局在哪里下载呢?注意这是是什么代码,是系统的,是我们这个写的系统的好,它在哪里嘞,在这。看到没有是内部的呀,看到没有,然后当然我们也可以搜索。一会给收到啊,一好,我们先打开来,那它这里面呢,有什么呢,一会就是一个布局,这个布局里面呢,就我们。就是大家看到的这样的效果。然后我们点击这个地方播放暂停,就怎么能控制它呢?好再看一下语言代码,点进去是把这个视图存进去了。
06:08
然后这个视图大家再看一下,它继承就是一个布局,很简单对吧,陈进去大家好,这个是一个controller。你看他用一个m control去接受这问题吧,它本身就是可以controller嘛,然后大家看好。在这个地方里面,他一进来之后,先把控制栏给隐藏,然后把这个格们复制给这个类,这个是一个什么。就是它对不对,下面题吧,点进去就是它,然后大家看点这。再来这个controller,然后这里面有个me play。Me play呢,就是我们播放视频的吧,那这里话大家made control看看好看好啊,这个是谁?是刚才那个累啊,然后他把累死c play把重音累死则是谁?
07:04
是预留域啊,预入存进去,那么预流入传进去过后,预留入呢,这哥们呢,它又实现了一个接口。是实现一个play control的一个接口啊,是有这些方法。是是是在这个类里面啊好,然后大家看好。哎,又得从这里进来了。就进来就这样好,那这个时候重进去类是是一个预读U,然后重进过后,这就是这是一预预读U吧,预留预留U好,这里预留U留U里面是有很多方法播放暂停啊,大家看啊,预留域里面有一些方法叫做什么暂停,暂停它最终掉的是谁是谁的谁的暂停me play的,然后再掉是大的。Start,那start又这个方法又是谁的类的,那也就是说在我们这个地方里面。
08:07
这哥们。是预留U是我们可以调预留的播放暂停,那最终调了me呀,就实现播放暂停,也就是我们为什么在这块里面实现播放和暂停,可以做这样的事情,就这个好,我们看一下哪里用好,我们找这里是什么stand这是什么。暂停那一掉,你会发现它掉的是一个接口,但实际上是在我们预留域里面去实现的吧,看到没有,大家看好啊,我一搜这就是嘛,那么他怎么有用这个嘞,因为他们都实现了同一个接口,知道吧,你看接口又用又用,用上了是不是你会发现这个接口真的太好用了,太好用了,但是大家肯定还找不到这种感觉,因为你为你这个对接口没有敲过两三遍,敲两三遍你要就有感觉了,对吧,这接口接口的话是吧,谁实力这个接口,那这个之后我回调的时候就回到那个时间内吧,这样子的好,那同学们在我们地方里面的话呢,好,我们看一下搜一下这个,搜一下这个媒control这个布局。
09:25
搜这个类好找到他的布局文件。找到布局文件。在这。好,大家看一下媒体controlt呢,好随便找一个,注意这里面是找个19啊什么的打开,好,那在这个地方里面,大家看一下有几个按钮啊,12345,它有五个,但是我们有三个,那一就是说他就把两个隐藏了,因为他这地方你看它不光有一个。
10:02
这个上一个啊,还有下一个,同时这里面多了两个按钮啊,这个播放暂停就中间这个,那这个大家看一下,这个是当前时间。但时间这个是个八。这个是总时长,明白啦,好,那另外两个按钮隐藏的,他是本来是想要做快进的,但是呢,这功能并没有做好,那同学们这个就是我们的这个看到的这个布局,明白吧,是一行代码搞定,然后他又能播放暂停,其实就是什么内部和预留域有关联,知道吧,又有关联,就实现这样的效果,明白了吧,所以大家看到这个案例感觉挺神奇的,诶怎么可以播放暂停。啊,其实呢,是因为他们实际上同一个接口,然后把它这个类的实例存进去,这个类的实例其实就是这接口的实例就是这个类,你看它实现了。这个接口吧,然后接下来我们就把当前这个类的实例,其实也就是这个类的当前这个类实例,其实也是这个接口的实例吧,然后从w control存进去过后呢,然后我们。
11:18
然后我们就类死,就把当前存进,存进过后呢,这个相当于阅读,你都可以调阅读的任何方法。注意,我们能够调预九玉的所有的方法吗?能调它有哪些方法,能在能调它里面接口规定的方法。你老吗?只能调接口归因的方法,知道吗?你看这个地方里面这个接口是不是有这就这些方法呀,你只能调这些方法,如果你想多调一个方法怎么办?再你再再选一个接口方法呀,明白吗?我们以后调我们的这个接口的某个方法,肯定是接口是存在的,不存在你就调不了了,明白吧?啊好,那同学们在我们地方里面的话呢,这就是我们的这个啊,大家去理解一下这个可能你们在听这个的话呢,可能这个这个有点,因为你们没有真正去去要你多敲两遍就就知道了啊好,那在我们地方里面的话呢,我们这部分。
12:32
就讲好了,就是和瑞切换也讲了是吧,那接下来我们就。呃,刚才所讲的就是一个细节了,那接下来我们就讲什么呢?播放器的这个控制面板这部分,就把顶部部分呢给做出来,哪部分呢这个。给大家看一下。好是吧,把这个给做出来。
13:00
那一整块的话是什么呢?是吧,那么差一整块是一个什么布局啊,你们觉得上面有个底下有个。是一个相对布局啊,好,那大家可以看一下,其实这整个外边是一个相对布局,这里面是个线性布局,有上下结构,看到没有,这个是上和下,然后线能布局啊。这是线布局,这线局先人布局,我里面再套一个线人布局,把他们那个竖着方向。然后这里外面是一个先进布局,里面是一个先进布局,在里面是一个什么先进布局,明白吧。先布局里面,它就这是一个按钮,这个按钮按钮按钮按钮,这是一个文本,这个是是一个bar,这是文本,这个是按钮,这个是一个B,这个是按钮,这个是文本,他用一个填充这个一个有一个权重啊,这是一个图片,这是一个文本。
14:03
简单吧,好,那最外面呢,是一个我们的一个响度布局,好我们来做一做,那么也就是说同学们,我们在这个地方里面呢,把这个我们就摒弃了,不要了,来到布局这里面,好在这个地方里面,直接在这里写了吧,好,我们呢,直接写一个这个包进来,这样的代码简洁写out圈,然后我们就叫啊media。Media control好,和我们刚才这个一样的,和这个media media control跟他一样一样的吧,少了一个什么是吧,Media control好,Media好,然后在地方里面呢了过后。
15:00
阶段把它给创建出来。诶,Lay out,这里面是有一个是lay out好,Lay out好,然后我们把它给创建出来,好,那这个是最外面用什么布局啊墙的布局对不对。布局好,那在我们地方里面有过后,好上面是一个新布局吧,好那么你高包裹。然后方向它是什么方向啊,垂直方向对吧?好,那这个时候的顶部是吧,好然后就是LL top是吧,接下来底部也有啊好,它也是输入方向吧。我就要拨好,那接下来我们要把上面这部分。
16:01
搞定就是这部分。这部分的话,这个外面线布局已经搞定了,是接下这个线布局是水平方向啊,那它。复制把这个ID干掉,这个方向改成什么水平,那有这个过后是不是还复制一下,这里是上面这一整个部分,就有结晶结先不觉了,好,然后有了过后在这里。在这里它有一个背景,这背景图片呢,咱们准备好了。好在我们的这个。影图片这里的话呢。给大家看一下。好,那这里面它有一个。波,这底部的波,那我们要的是状态栏和顶部的这两张图片,好,那是不是都是碘酒啊,碘酒啊放在哪里。
17:03
啊对,只能放九补啊好放九五目录下。好,那这个是一个状态栏的。还有个顶部的。那也就是说这个地方里面这个是一个状态栏,这个是一个顶部控制,可能我考了个两两张了,对吧?好。然后在这里面保存一下背景,好,那这个时候呢,圈一下这个是。状态是这个好,那有那个后左边是有一个文本吧。T文本这个包裹包裹那文本教授视频的名称对吧,名称对吧,然后的话就是一个。
18:03
颜色比白色吧,一白色是什么?123456对吧。好。然后有了过后这个地方里面呢,它肯定要居中吧,垂直方居中吧,好我就用内部也可以吧。主题中,然后这个们呢,距离左边。最左边有啊五个DP是吧,好大家可以预览一下。看到吧,当我们方向可以切吧。那还可以把它这个隐藏。大家做过吗?全屏看到没有这样的效果。看到了吧,然后接下来在这个地方里面有个后ID写一下就是TV,然后内蒙。
19:01
然后接下来这个右边有一个时间。时间就是我们的系统时间。好,那么它在右边,那么中间里面应该有有有一个什么图片吧,图片包裹包裹,然后RC好你会发现电量啊,是由几张图片组成的,你看这几张图片,不同的电量来设置不同的状态,你发现哇塞,这个电量原来这么搞,这这个原来这些手机厂商都骗了我是吧?原来电量这么搞出来的是吧?是不好,是感觉非常的凄惨是吧?好复制一下来到这里。好,放在我们的这个目录下粘贴过来。
20:03
然后在机房里面的话呢,有一个货。好,那这个时候我们随现在先随便写一张图片啊,好设置job下的图片叫我看啊,我们先选个零吧,默认选个零。看到了吧,然后他距离左边要有五个DP。距离右边。五个DP,那这个一会他距离右边也要五个DP吧,是不是这样的,但是这个哥们接下来这个文字是有可能视频很长啊,所以要权重把改为多少啊,改为你看这是他的挤过去你看你会发现权重是多幸福啊样的权重真的是这样的权重,所以你会发现权重是一种适配,后面会专门讲。你看这个时候权重是不是相当于我们做适这个地方要适配啊,要他填充啊就适配,然后这个呢,让他。
21:05
让它在这个地方里面竖直方向。有作用没有?本身就居中了吧,本身居中了,我们用不着了。对吧,本居中了啊看一下本居中了。其实这显和明显一样的,因为本,因为我们内部里面,你看它内部里面是已经设置的,内部设置的。因为我们在外面这里面,这里面我们应该再试一下,对不对,哦哦对对对,这边有了对吧,好,所以的话呢,搞定是吧,右边。系统时间距离右边。啊,系统时间就是左边右边五个带POK可以了,好,那有了过后同学们在我这个地方里面的画呢,顶部有了,好那下面这个地方我们再次设置一个背景对吧,背景的话那就是拓。
22:18
点个控制栏,然后左边有个按钮,八层八层,然后右边是也有个八层的,中间是有个Sha bar呀,好有一个S好包裹包裹,然后它也是内部。是垂直方向居中啊好,这个时候注意啊,这哥们呢,它的它的最小的高,这个六个DP最大mark是最大的高,也是六个DP,就把它瘦身。
23:00
看到没有?然后他应该是权重应该是多少撑过去吧,那这个哥们距离左边五个DP啊,距离右边。右边。啊,左边五个DP,然后这个时候mark左边五个DP。Mark。右边也是五个DP这样子啊,就有了大要瘦身,如果没有这两个,你会发现收下来看没有,看到没有长胖了吧,好肩可来你看就给收下来了,对不对,然后接下节课的话呢,我们就把这个状态给变成是这样的一个效果。你看这样的效果,什么效果呢?呃。你看这样的效果吧,按下去效果看到没有,然后做这样的效果,包括这些呢,要变好,包括这个状态要改成这样效果,但我们现在运行出来的话呢,你会发现这面丑的不行,但我们去美化美化是吧,人靠衣装马化鞍对吧,好好我们看一下,同学们点击一下看到没有,现在很丑吧,哇塞是吧?啊好,那同学们这一块的话,我们先同学们我们继续了,那我们在这个地方里面的话呢,已经把上面部分做出来,这一部分是不是还没有把它美化呀,好,这部分呢,也还没有美化,也就在地方里面的话呢,好,我们把它给腰围做出来。
24:44
那接下来我们怎么做呢?好,也就是把它也是把背景做的一个选择器吧,好,这比较简单,还有一个问题,这个是你看这是还有个状态啊,那我是把它作为全屏呢,好,我们先把这个全屏给做了,要不然比较丑对吧?好,那这个时候我们呢,去把我们的这个,呃,这个全屏给做了,全屏做的话是可以在样子里面去做啊好来到这里。
25:09
然后的话呢,在我们的这个里面去研究我们的一个样式。诶,那我格式化一下,然后在这里选择一下我们的样式,样式的话怎么选呢。好,就是我们的S,因我们要用安卓系统吧,ST一个全屏的,就这哥们呢,就他你看他太知道我们的这个这个需求了,是吧,直接弹出来好,那接下来我们就就把这个按钮改改,把它给设一个背景吧,背景的话好自己定义就是这个按钮叫什么呢?一会是调声音的,我们先把ID选项好,这个就叫做BTN减起,那我们就Rose c1。
26:05
它是硬的好,然后把这根们呢,叫做名字叫做一个select一个选择器吧,好把它给创建出来,好,然后在这个地方里面的话呢,第一个艾艾的话呢,我们就是按下去的效果吧,然后然后呢,去选一下这个地方里面有过后呢,我们去把这个图片。把拉过来好什么样的效果呢?这个效果是吧,这个就它好,就这两个把它给拿过来复制粘贴到我们这地方来。这个图片放在这儿。好没有点酒吧看到没有,所以这个功具还挺好的,当你覆盖的时候啊,一做你拷贝的时候,它会提醒你拷贝哪些对吧,挺好的,那有了过后在我们地方里面的话呢,就是好wells声音的一个normal,好,然后把它给拿过来,注意了,一个同学一不小心两个都是Q,两个force是不太好啊好,一个是first,一个Q,好,这个地方呢,改为按下去的效果好,这时候呢,搞定了,好,但是我们一看发现的话呢,挺好看了好。
27:31
诶,这里刷新一下。好,你作用好,理论上应该是可以啊好,那么刷新一下下。哦,在这个地方里面,我们看看背景,背景然后。
28:01
或死的时候,Normal。怎么问题啊,看下去。好。好看到了吧,好,你看这根本就有时候是有问题对不对,耍小脾气是吧?好然后复制一下考到这里来,好那这个时候我们就改一下,这个是这个时候是干嘛的嘞,切换播放器的,到时候我们要切换对吧。A点它弹出这个来,好,那这个时候我们就叫做欲取欲和取欲取的一个什么类播放器,然后把它的这个选择器也叫做名字陈列下,我就创建出来选它把它创建出来,然后在地方里面的话呢,它出出来艾好那么按下去没多少S第补的话呢,在地方里面的话,好这个时候就是时域切换切换播放器了,默认对吧?好就这张图片,嗯。
29:15
好,然后有了过后把它给填一下,好这个是也改为多少Q对吧,这时候改为按下去OK搞定了,好那么这个的话呢,比较简单,好改简单,那接下来这个该怎么做呢?要把它做成是这样的一个效果,好这个效果该怎么做呢?就要是自定义了,其实自定义它样式就可以了,自定哪个呢?这个它有一个或是job对吧,我们去定义它就可以引用一个,然后呢,我们叫叫什么呢?我们可以参照一下系统的一个好在这话里面大家看好我怎么参照的,所SDK距离某个版本19啊,当然不一定是19吧,其都可以,然后呢,我们找它这个is value6下,我们去看一看它的一个样式,样式这里面。
30:15
那我们找谁呢?好,我们用这个工具啊,它可以去搜。然后这工具呢,我们就是个把,是个把的话,大家看好这地方里面你看有一个这样的是个把,看到没有就它吧,然后我们去把它给复制一下,就它这个属性这里复制,然后你搜索好,搜索的话,注意这里面弹这么多来我们找一个任何一个。69。好打开好这里面你看在这个地方里面的话,它是有一个背景状态,还有一个缓冲状态,还有一个进度状态,就像我们平时去网上看视频,网上看视频呢,它有三种状态。
31:02
这种状态可能是背景,然后呢,假如说你们家的网特别快,是不是呢,这哥们它可能会缓冲到这,是不是传到这,然后呢,这个状态,然后呢,你在看视频的时候,可能并没有看到这里,而是看到这里。是这样的呀,好,那么也就是说看得到这里。这状态。的状态,那就是说这个是背景,这个是缓冲,这个是看的进度,所以刚好跟这个对应。这就是背景,这就是缓冲,这就是当前的播放进度,能理解吧?好,那么我们只需要把这个文件拷贝过来改一下。这文件应该是放在job目录下吧,好,然后把它改一改,改成什么呢?好这个时候job的话,我们呢,就是说这个job的话呢,我们用自个的自个的图片,好,我们提前准备好了。
32:06
这里面我们有有三张图片,这个用来做背景啊,很小。好,但是点久了嘛,好,这个呢是我们的一个进度啊,就是进度这个呢用来缓冲。好,这么问题吧,然后我们把这个放到。就补其他两张另放吧,好,其他两张这两张放在我们的HDPM目录下是不是?好,那接下来有过后呢,好,我们分别看一下这些叫什么名字,都有个progress啊,就比较好找,好有一个S,这是一个背景吧。好,然后这个地方呢,好,我们把它给干掉,直接在里边job好,Jobable progress的一个second second progress,好,接下来还有一个好,这个的话呢,删掉,直接在里面选job好,然后这个地方里面的话呢,选job下的progresss的一个normal normal的话呢,就是一个什么。
33:24
进度一个这样的一个颜色啊,但它它都不会变大啊,都把图片它都不会变变大,但是本质上是它就是很小的图片,大本本来就很小的图片啊,本来就很小的图片好。好,就这么小,看到没有小不点好,然后有了过后我们把它给放到这里来。好,就是它吧,好,这时候你会发现这哥们呢,好变了,变这样的效果了。好,编辑这效果过后,那如果我把它进度不过十,那20看一下是不是进去了,这个图片是也要改啊,好,这个图片该怎么改。
34:10
好,这里面有个sub,然后呢,去引用我们的一个图片。这图片咱们也提前准备好了,叫做这个。好,然后把它拿过来。好,就是把这个这两个的,你看是不是这个图片我们也可以去掉,就是说如果你把这个引用为钠,它就会把这个去掉,知道吧,好那同学们假如说你以后不想让好这里面有一个引用,好那如果你不想以后不想有这个图片,你说你把这个状态不想要他有这个图片,那也可以用一个浪,知道吧,好大家可以可以看一下,好你看这图片是没有啊。
35:03
这这个这个是没有啊,但是如果你想有没问题,好这个地方里面有一个的一个上好我们去运起来,这时候就有了,同学们啊,现在的话呢,我们就好,这时候呢。好,然后这时候看是可以了吧,好,那同学们这一块就是我们所讲的顶部是吧,顶部状态栏,好我们把它给搞定。来搞成下。
我来说两句