00:00
呢,我们要去对它的这一个位置进行限制。对吧,现在呢,有一共有四个限制。其实是这些值有的时候不能满足我们的要求。譬如说我举个例子,如果出现这种情况,什么问题?是不是life的不满足我们的要求啊,也就是说我们要做四个限制,限制life。呃,Since to对吧?还有现right对吧?好了,再来一个现在波,等明白吧。好,先来看。我们来看一下啊。首先我们来看第一个,现在left left的最小值是多少米?对吧,怎么个限制法呀。
01:00
大家看,我一旦计算出这个left。它的最小值要是零,但是我现在有限制吗。没有,它不最小是零吗?那也就是说它要大于等于什么?是不是大于等于零。大于等于零不是十,好,那我就要判断一下if left小于零。你说我让他干嘛,很简单嘛,等于零嘛。对不对,好,我们把这个拓也做了,什么意思啊,大家看。哎,这个地方还有一个事情没做,我这么写了以后,Top是不是变大了呀,不是那变大了吧。你看它本来小于零嘛,我变大了吧,你说这个。你说我要这么写会出现什么情况,你看啊,我left变大了,我的我的这个right是不是还是以前的渣,你说会变成什么样子,是不是越变越窄呀,就水平方向上的宽度是不是越来越小啊。
02:03
我是不是要维持它水平方向的宽度,一直都是以前的那个大小啊,那你说怎么做呀。这个是要变大还是变小?是不是要变大呀,你要相当于把它拖出来嘛。对吧,从左往右拖吧,那从左往右拖,你这那又right是不是有点大。好来,怎么个搭法?啊,Right right什么呢?加等于加等于多少啊?加等于left到底怎么着?捡到点怎么着啊,你们还知道放在上面是吧?是不是放在上面呢?也就是说先要把right算出来以后,你才能把left变成零。这个能理解吧。
03:01
你要你要他改成领导,那那以前的不都不知道了,对不对。哎,都一样啊,就是想办法把它变大呗,对吧。嗯,你在里面写个减的话,那他就写什么不要嘛。就是我这里面想说的是它本身是不是负子啊,这就跟凳子呗,对不对,都一样啊,好,下面这个托是不是类似的。Top怎么做if top?怎么个情况,就是。冲了一下就跑进去了。现在top是个什么情况?是不是小于零?那top既然小于零,那我最终要top什么等于零?在top等于零之前,你要先把谁做好啊,波做好。啊,其实跟这个一样啊,就写一个负的。
04:01
泡泡是不是一样啊?好。啊,我这个加的也想表明一个意思,就是我想变大。好。下面。这一个呢,金刚基本上没问题,主要下面这个比较难,我先呢给它运行一下,让大家先爽一把。卡卡卡回去吧,卡进去我又拖了,肯定是进去了呀。对吧,来。那个右边呢,就不太好限制,为什么说不太限制,因为这个限制好限制,因为它是零很固定是吧。这个右边是怎么限制吧,你说。是我的这一个右边的这一个right,它是不是有一个最大值的限制啊。
05:02
它应该小于什么呢?啊,那咱是不是要去取屏幕的了。啊。这个地方跟大家说一下,我有一种简单的做法,我们的这一个image view是不是有一个父亲呢?我们是不是在户型的区域里面活动啊。你说我干嘛去?我去得到父亲的什么?和父亲的什么?我是不是要在户型的规定的范围之内去去活动啊,户型不就这样的吗?我是不是要得出父亲的右下角的坐标?是这意思吧,就得到负四度了,右下角坐标。父亲,我们有没有?有。这不他吗?但是我没有给父亲定义ID啊,大家看到对吧,也就是说父亲是他。来看啊,我把它定义一下。
06:02
这是一个下列布局,我就写一个parent of you好吧,复试图,那个复试图怎么得呢?是吧,大概啊,我现在我们平常找一个视图,是不是翻译的view by ID啊,我不想了。我想干嘛呢啊?我想找到他的父亲,你说得父亲怎么得?你自己想想都都我就问大家,你就想方法去,现在你在设计,你想设计个什么方法,如果你想出来了,那你就设计出来了。但是生命的类型呢,比较抽象,需要给把它什么,是不是转换一下。你看啊,它生命的是这样的一个类型。叫view这样一个接口。但是你就看嘛。
07:00
是不是view group去实现的这个接口啊,啊,我们的相对布局是不是view group的一个指令啊。你说要万一不是呢,万一。没有万,那那这有万一吗。这哪有什么,万一你这个地方本来复视图副标签不就他吗?这个类型讲话肯定是不会出异常的吧。嗯,好啦,有了复试图,那复试图以后再干嘛。得到一个是什么?这是他的right吧,还有一个点,Get。Bottom,这是复视图的一个右下角的坐标啊。但是我跟他说,我现在去取他的指是零。这个涉及到我们后面要讲的视图的生命周期。就是你现在去取这个什么啊,Right啊,取这个什么东西。
08:04
嗯,都是一个没有值的,我在里面加个杠杠啊。吃饭。看这输出。哎,怎么没输出了。又掉了。运行了吧。来退一下。你去了吧。那有的时候这个打印吧。真要要了人命了。能不能出来呀。Oh。你看到这个就不太好了,就这个。这设备是吗?没连接上,你是说这不连接上了吗?
09:01
有些连接上他,有些他没连,你就这么继续去去,你去接受他了,这咋办呢。我还就不想了,透视。受不了了。toast.make他。Make a text,嗯,传一个this,再传一个是不是传一个你传一个文本是吧,接着还一个传一个你你就多了一个参数是吧?哦,这一个多了一个逗号是吧,不要可以了吧,也不容易啊啊。来我们这里面写个一,因为我怕他大家没看清楚。
10:09
是什么?是不是零呢?啊好,那个零是怎么回事,就相当于我现在的视图,他没有宽高呗,有吗?到底有肯定是有的,只是现在还没有。对吧,这个地方涉及到一个问题,就是视图呢,要显示,现在视图还没有显示。他还试图呢,要经过三个生命周期,什么测量啊?啊,测量是什么意思。什么叫测量啊,就测量它的宽高呗,是吧,很简单,一个是测量视图,就视图多宽多高啊,得测量对吧。那此时根本就没有做这个事。那一个对象刚刚创建的时候,它的属性一般先都为什么是默认值啊,那当然就是零,那你说我在什么时候,我就保证他肯定有。
11:06
是不是我显示我在操作的时候,它肯定有啊。那好了。那这个时候我在什么时候去取。啊看着啊,我在这里面给大家给他注意一下啊。大家想我在你说我在哪个里面取的下面下面哪个地方。在木里,在木里面取我这个东西取一次就够了吧。是吧,啊,取一次就得了,你取多次没有意义对不对,那也就说我现在想要去取到两个东西,一个是叫max。Right,还有一个什么marks对不对,这两个值要取出来,什么时候取呢?我在这里取。当的收取。
12:01
是吧,来把这个值赋值给。Mark似的。把这个值赋值给它。可以了吧。嗯。得到复试图。对吧。呃,Right和什么呢?好,这个时候啊,大家想,其实我还可以做的更好一些,就这一个赋值,它其实也会执行。比较多的是因为我有可能反复的去操作吧。反就是反过来什么,我按我拖了一次,我是反复的拖动吗。反复拖的时候的时候也没有必要,其实你可以这么做,这是最好的一种方式吧,等于它,如果它等于零,说明还没有复合值吧,你说我是保证它只复制一次。
13:01
对不对。可以吧,嗯,可以,这个其实啊,就是为了保证值啊,不遗失值。好,下面有了它怎么做。他是不是要小于什么等于max right,对吧?这一个要小于等于max bottom,好了,来做一下if,如果right大于,这才是非法的值,对不对,Max right。那我最终要让它等于什么?对吧,但是你还要把随便压。关键这个是变小还是变大。是不是变小啊好,那变小减等于变小多少呢?
14:09
对啊,这个时候比上一个要稍微难一点点,但是我觉得这个这个逻辑都应该是不算特别难的。啊,Marks right对吧。这是一个正子吧,我要减一下吧,减小啊。好,下面这一个是不是类似的呀。嗯,类似的情况啊,适当的改改变量名就可以,这个是bottom,这一个呢是top对吧,这一个是bottom。哎。这个什么是吧。这一个是max。是这个意思吧,嗯,意义他们的做法是一样的做法,好,现在我们来看一下。
15:09
好,刚才这两个是可以的,你看啊是不是都可以,那你就不能跑出去了。好,这里面呢,我们基本上就把功能做完了,做完以后呢,其实还有一个小问题。什么小问题呢,其实这我们这个功能是手机微信里面一个功能叫来电归属地显示。我不知道大家有没有用过这个功能。就是大家去用什么360啊,用什么金山卫视的时候,它是不是可以去在你的,你一通话是不是上面就有一个来电地区啊。你能不能脱滑的那个是不是可以。可以,你能把它划到里面去吗?不来,那你要想要发里面去,那不有时候看不见吗。对不对,这个是就是设置归属地的位置。
16:00
好。大家看我有一个什么问题呢?有这样一个问题。我现在是不是指定了,到时候一来电显示在这。对吧。是不是退出了吧,但是我我我但是我再进来啊,是不是又在默认的那个位置啊,我希望他什么。是不是还在这下面呐。啊。是不是要存储位置啊,啊,这个我们暂时先不做,到时候呢,我们在啊手机卫视里面我们再去做它啊。
我来说两句