00:00
这一个呢,这个呢不太重要。这是屏幕和视频切换,但是跟大家说一下。来。我来去写一个小例子,来跟大家说一下啊。嗯,这一个呢,是屏幕切换T方向吧。写错了吗?Orient不这么写的吗?对吗?Orientation,好像是这样的吧?有点看起来不像是吧。啊。啊,什么。Orient。Ren,这样的吗?
01:06
这里。反正坏了就就就得怪某某个人了啊。Finish。我们来看一下,在这里面呢,我在写,我这里面呢,有一个。Text吧,啊,脚下有一个text,好不要它。嗯,写了一个,写一个fair吧,说吧,就这样啊。我把它运行起来。运行起来,我会在这里面呢输入一些数据。啊,随便输啊,输了一个数据好吧,啊,其实这一个手机呢,是可以进行横视频切换的,这个大家知道吧,啊那怎么样呢,切换呢。
02:08
我的这个手机里面是七,就是小键盘七。大家看切换以后出现什么问题了。数据没了。这不让人受不了吧?对吧,那为什么没了呢?来,我们去写一些打印输出,大家就能知道为什么没有了。我在这里面呢,写一个打印语句。这个是不是在说我的activity创建了是吧?啊,我把那个销毁了,也给他写一下。
03:01
好,现在呢,我再去执行一下我的这个应用,我先按,再按一下七回来。啊,回来啦,好啦,我来来运行一下。好,下面呢,我来去。输入一个数据啊,随便输。输入一个数据以后呢,让他。水平方向变的。大的。出现什么状况了?是不是销毁重建呢?这样的话,他就做了一个销毁重建的工作。对吧,默认就这样的。啊,就是默认情况下呢,横竖屏切换时,Activity会被销毁并重新创业。那数据肯定就没了,这很正常的事,对不对?那下面。如何不让activity销毁了?这个地方需要去写一个被子。
04:02
这个里面的配置呢,是固定的,我先给拿过来。配置到哪个里面,大家觉得。啊,就配置到我的这一个activity上面。哎,这个里面少了一个东西。是吧,可以漫画画啊,这个里面实际上是可以通过提示。来之喜,一个一个找。啊,这里面一共有三个,这三个都必须写。这边什么意思啊。方向改变。这大家知道这个什么。就是那个键盘,就以前的手机是不是有硬键盘的呀,啊硬键盘打开关闭对吧。好,还有一个这个地方是什么,屏幕size的一个变化,就是尺寸的变化。啊,这一个是在后面的版本升级之后,必须加他以前的老版本前加前面两个就可以,那后面呢,必须加上它。
05:06
好,如果加上它以后呢。大家来看一下现在会不会。出现刚才的状况。好,现在呢,我先输入一个数据。对吧,好,输入数据以后呢,我让它变成。在哪?是不是还在呀,还在是怎么回事呢?有他有重新创建吗。没有,还是用的以前的吧。那我怎么知道他?切换的方向呢?在这里面。他不重新创建了,但是他会去调用这个方法。他。对吧,好,这个方法我们来去重写一下这个方法来监视一下看。
06:06
是不是这么回事?对吧。就当配置改变了,其实就是方向改变了好了。那我想实现一个事情。是一个效果,就是你在切换方向的时候,我能弹一下,透视一下当前的方向是垂直的,是垂直的方向是竖屏还是横屏,对吧。好,下面我们来看。那怎么样得到当前的一个方向呢?非常简单。他。有一个来。啊叫有一个属性。叫orientation方向。那当前这个啊,看到啊,当前这个方向我点过去。是个in的值对吧。有这样两个值。其实。
07:01
一个是他。一个是他。啊,这两个值好了,哪个代表横屏,哪个代表竖屏呢。这个查一下单词的意思。打开。这个叫素描肖像。竖的是吧,就是肖像的意思,肖像。这老外真是也是够够奇葩的。我感觉。你就竖屏就竖屏呗,你搞个肖像。啊,那个这个更有意思。这个呢,叫风景的意思。啊,我们把它看成风景线,风景一般都是平面上的一个风景,对吧。啊,就是你从镜头往远看都是风景吗?也只能这么想了,你再想,你又没法想。
08:03
这个肖像呢,它用来代表的是竖屏。能理解吧,好来我们呢来看一下。嗯。来,我把它呢给他拿一下。啊,我们呢,可以去orientation,还真是对的啊。好,下面判断一下。路过orientation。等于某一个值就怎么着,对吧,等于它这是竖屏还是横屏呢?竖屏是吧,肖像嘛。难道数额很这个单词很难写吗?来,我是说那个英文单词啊,呃,苏平。
09:04
嗯。竖竖竖屏啊,竖直吧,写不了了。竖直。好。下面一个零是吧。Else就是什么else,我也我那个as if也不写了啊,就是else。就两种状态。横屏对吧。啊,横屏好了。来,我们来看一下,看看它行不行走。啊,这个我也别输了啊,直接来吧。是不是单件横平的?嗯。在一些。是不是竖屏呢?
10:02
你说这有啥用,这有啥用啊是吧。啊,下面一个有用。大家看啊。下面一个稍微如何只让横屏或者竖屏。就是有些应用它是不让横屏的吧,那如何来不让它横屏呢?横竖屏在这个地方有些只是横屏的游戏,一打开就什么。横屏的对吧,那有些呢,有些应用跟大家说一下,它是不让数横屏的。为什么呢?是因为如果横竖经它都支持的话,它的那个它整个的要求就会要高一些。就是有些布局吧,他在竖屏的时候看起来好好的,对吧。一旦横屏了,就感觉怪怪的。啊,他需要去做一些做一些处理。也就是说,你的工作量就会提高。就要更多一些,所以有的应用他就想嘛,你这竖屏横屏也没用对吧,反正就是手机上端的应用啊,完全就是竖屏就可以,那所以说他就会强制就让你去什么竖屏或者是横屏。
11:14
就是让它横屏或者竖屏,它其实比较简单。啊,就是加这样一个属性。假设我就想让他横屏。就有这样一个属性screen or加到我的配置文件里面去。等于什么了?我说要横屏。对吧,就它吧,嗯,好了,我们现在加了他以后我们来看一下。嗯,那现在是一个什么效果啊。是不是横屏的效果呀。对吧,有人说这东西没转过来呀,这这东西是不会转过,这东西是不会转的,当然你要看东西是不是就要这个看了呀。
12:09
这已经是横屏的效果了,好了,现在呢,我再去按什么F看这个诶。HY。大家看,关键是现在也是什么。横屏。是寒冰吗?是?你看它跟它跟我们默认的那个效果是完全不一样的吧。啊,只是拿到角度,我现在是不是可以随就是人直接去拿着了。对吧,只是刚才呢,我们是什么是为了特着来呀,但真机肯定不不会像这样,这是个模拟器的一个效果嘛啊。那现在呢,我们就只要求是,就相当于是不是写死了,只能让你去横屏或者竖屏呢。但有些应用是这样的。我跟大家介绍一种应用,就是有些视频播放的网站。
13:00
比如说我们的爱奇艺啊,什么优酷啊,他们有这样的一个结构上面呢,它一上来先是显示一个比较小的一个屏幕,一个视频播放的屏幕。啊,下面呢是选集。是吧?啊,到后面去做项目实战的时候,可能会做类似的功能啊,啊选集啊,选集以后开始就在这小频里播放,但是你不可能老在这里看到,对不对。你会这里面呢有一个。全屏的一个图片按钮。是吧?现在是素的吧。啊,一旦你点击这个全屏的。这个按钮会做一个什么事?是变成横屏的呀。你的动态使它变成横屏了吧。那如何来让它动态的通过我的代码来变成横屏或者竖屏呢?对不对?好,假设我们现在也要做一个类似的功能,我们还可以做的更强大一点,怎么呢?我这里面来一个button。
14:06
假设啊。再个小样在那个中间吧。搞了半天好了。来在这里面我呢,需要干嘛呢,切换方向。如果当前是横屏,我就变成竖屏,如果当前竖屏了。那我就变得很低。说明我可以任意的控制吧,啊来在这里面呢,来一个安。叫Switch。Worry。是吧,好了吧,嗯,好,来这个我。写,大写。看这里。那我要去重写这样一个,实现这样一个,写这样一个方法。现在有两个问题。
15:01
第一个问题,得到当前的方向。是吧,第二个问题,设置方向,设置是不是新的方向呢?啊新的方向。关键是。怎么得方向呢?方向保存在哪个对象里,哪样一个类型对象里面呢?是不是它里面呢。啊,我后来我找,找了半天也找死人啊。好,它里面呢,有这样一个,先得到get resource。蝶。呃,点一个get。这个。Configuration,它就有一个什么。当前的一个方向吧。当前的方向呢,是一个int值。那下面啊,下面我们来看。啊,我就会进行判断了吧。
16:00
判断啊,设置不同的新的框架,假设我是他,那说明我要变为什么。当前是一个竖屏,那我要变为什么变为横屏对吧,那变为横屏怎么个变法呢。这个时候又实在是第二个问题,就设置了一个方向的问题,对吧。好。这个也不用大记啊。大家看看,这个方法叫set。Request orientation。啊,传一个现在我要变成什么边。横屏把这个拿过来。但他传的不是传什么,我们这个里面的那个纸,而传它里面的值大概。是不是要传他吗?他告诉我了,应该去找这个对象,里面的数据看到了吗?
17:07
好,下面另外一个我就要变为竖屏了。变为竖屏,跟这个类似。只是我这个时候得改改。是不是他呀。好了,来,我们现在看一下,看看我们这个动态改变方向。有没有效果?这个功能啊,在后面大家可能会用到。好啦。是不是可以啊?可以。对吧,没有问题的。诶,我的这个怎么,嗯,有提示了。那当然了,我这个地方是不是横视频在切换呢,切换的时候它是不是这一个方法会掉啊。这是很正常的一种情况啊。
18:01
好在这里面大家重点的是需要去搞清楚它。就如何来指定只能横屏或竖屏。还有一个如何动态的让他。横竖屏切换。这两个都有可能用到,其他两个其实用的并不多。
我来说两句