00:02
下面我们要说的是一个自定义的lot dialogue。来看呢,现在这样一个效果啊。上面的这一部分呢。都是我自己去指定的一个。出局。这里面有一个方法很重要。啊,Set of you。对吧。他能帮我们去设置视图。那如何来得到一个视图对象呢?我们是希望这里面定义成一个布局,去加载一个布局文件。View类,它有一个静态的方法。叫inflt方法。这个Fla方法里面就可以去指定那个布局文件的ID。最终返回的就是一个它对应的视图对象。好了,来。
01:00
嗯,这个效果从哪找的吧,其实也是文档里面的一个效果,给大家看一下。在文档里面有关于UI的介绍。放到最下面。叫customer content什么意思?啊,就是自定义的component。呃,通知看看有没有一个,诶还不是这一个找错位置了,我给大家找一个啊。Alert dialog还找错位置了。dialog在这。啊往下啊往下滑,往下滑往下滑。是为这个吗?对吧。好。啊,我需要这个图片怎么办呢?我就需要上面这个是吧。来截个图。嗯,就这样。这不挺好的吗?
02:00
保存。美工就这么干活的啊?嗯,叫什么呢?比如说叫title吧,点PNG。好了是吧。嗯,我就需要这样一个图片啊。Title点编辑,嗯,就这一个NC。放到我的项目里面来。好了吧。好,下面。嗯。我们要去。揍他。大家看啊。那我先把这个基本的。套路给他写一下。好吧,嗯,这里面有一个show CE custom dialogue。来复制一个。
03:02
写下它,我们现在呢,显示的是自定义的alert dialogue。嗯。不需要这个打卡啊。也不需要这个。整体的结构呢,是这样的。美女吧。好了,现在我们需要去去显示的,用哪个方法来显示中间的这一个呢?这个部分是吧。叫set还是什么?看看有没有。爹。Set of you。是需要一个view啊。这一个view了。还没有。啊,我们现在还需要去。嗯,首先得要定义一个定义的布局,就这一个这一个部分的布局,这个布局倒很好定义。对吧,上面是一个什么。Imagine you。下面是两个。
04:01
呀啊,松松的好了。来试一下啊。我们看我们呢,先把这个布局给它定义下来。右键。另一个差秒是一个垂直的线性。写一个什么名字了。嗯。还真是不好整。有时候取名让人受不了啊吧?啊,垂直的线性。首先,运算来得来个什么?Imagine you是吧?挺奇怪的,这是一个什么呢?Well。穿戴设备的一个,我们一个布局啊,一个结构。咱不要。不是穿戴设备的啊。手表说白了就是来。
05:02
啊。嗯。在这里面呢,需要去指定一个image view。这不一卖就不用吗,只是它后面是一个。Title。对吧。嗯。就是这个title啊好,那我这样啊,我们来看一下。我能不能把它指定为。啊,春晚了。可以吧,但充满以后。他没有充满了对不对。它高度上是都是自信的,对吧,包的这个水平方向是没有充满的。啊,这个涉及到啊imagine you的一个,后面要讲说的一个属性叫scale type啊,你你就看你就告诉我,我选哪一个。啊,我想左右和上下都充满。哪个?这个吗?
06:02
你们怎么知道是这个呢?确实就是这个啊。那说明你学到家了啊。好了。下面这两个输入框啊,有感觉就好啊好,下面再来一个输入框是吧。好,在这里面我们来看看。来这一个呢,是一个,一个是用户名,一个是密码用户名,来ET我们的dialog这里面的一个用户名。啊,Name吧,写个name太长了好。这个呢,要有提示吧,来个什么paint。刚才说用户名。搞第一个了吧,下面这一个。是一个密码,密码PWD。好,这个有几个事情了,一个是有hi。
07:01
是说密码,而密码是不应该可见的吧?怎么办?Input。等于的password。好了吧。这样我们就把这一个呢,给它定义出来了。关键的问题就是我如何把布局文件加载出来,生成一个view了。对吧,这个地方有个概念叫动态加载布局文件。得到对应的对象。也就是说,我这里面就需要有一个view。那要动态计算呢,需要是用的是U类的一个静态方法。叫inflt。第一个this啊,第二个这个也好说,r.lay.dialogue。
08:08
没有。比较来说呢,是最后第三个root。啊,这个root是干嘛去的了,你看。呃,视图组将要归为成为什么?Parent什么个意思啊?他就是说的意思就是,如果说你加载一个布局文件,是不是产生了一个视图啊。你将要把这个视图插到哪一个?RO里面去。但我差吗?我根本就不查,我这里面只是设置到是大log里面去啊。跟它的这一个产生关系吗。跟它里面呢,什么你要插也只能插在这个里面。嗯,插到这里面来吧。哪里来?问他吧,嗯。啊,根本就不用它,所以这地方传什么呢。
09:03
那既然说,既然你不擦。还有个啥?就现在他说你要指定一个复习嘛,对吧,那我这地方根本就不需要复习。对了。其实你也不用想那么多,你就记着浪得了。一直都是那。啊,说了半天,好。下面。啊,大家看。啊,这个地方没有分号,嗯,对吧,好了,还需要指定什么,我们看这效果。取消和什么确定来。取消。Set是吧,叫取消,取消我需要做什么吗?如果你想取消的话,比如说我要去登录对吧。那我需要做啥吗?
10:00
假设我啥也不做。干什么事?嗯,那我们它的这一个默认的button是不是自己就dismiss啊,还需要我们dismis什么。是不用吗?还记得吧,它默认的这两个button是不是自己就结束啊?自己就会Dis Miss。啊,不需要我们再做好下面一个点,Positive button,哪一个确定好,这个时候我们要去new一个dialogue interface点。昂可。好。我们在里面做什么呢?大概。我需要去把用户密码这下读出来吧。因为真正的要去登录吗。啊,用密码这个怎么读啊。嗯,大概我需要是读取用户密码啊的提示。
11:10
怎么做?游泳馆在哪了?看它是在这个带,是不是这个视图里面。是在这里面呢。那我就要问一下大家,这个问题大家要自己要想啊,这个V我现在声明的是V5。大家说他的真实类型是什么?大家一定要知道这个是。就是view view的真实类型。对吧。啊,来看一下,我们刚才说它是动态加载布局文件,得到对应的view对象是吧,这个对应是跟谁对应呢。你看一下我加的这个布局文件加的这个啊,加这个文件跟哪个队形对应啊。跟他跟他那都不可能是吧,是他呀。
12:04
啊,好啦。这是一个问题啊。是什么呢?布局文件跟标签的类型。能理解吧?好啦。下面。啊,我斜杠。好,还有一个问题。问题啊。那问题二是什么呢?在这个地方,我们现在view是跟标签的类型对象,那我想得到它。我该怎么得了?对吧。大概啊。什么意思?呃,如何得到一个独立的?啊。没有。
13:00
嗯的,熟练view。的只有。这也是个问题。现在啊,我们是这些都是ID啊。这里面把它关了。这个譬如我选择这个输入框,这个输入框是不是都有ID。我们以前根据ID去找,怎么找到视图的呀。我们是不是find?看到这么写的,Find of you?BYd.ID点它。是吧,这样我们实际上是不是就得到了I呀,好啊,以前我们都这么得到。哎,这是name仪器。做一个长短。但是大家想。你这么写?
14:01
他能知道去去这个里面找吗。以前我们说过一个事非常重要,看到啊,大家回顾一下,你说我找的时候,我以前找数据能这么找吗?为什么不能这么长?没加载吧,那也就是说这个隐含的意思,这里面有一个隐含的意思。隐含的意思就是这种方式去找,是不是在这里面找啊。是在这个set content view里面找吧。你说这里面有吗?这里面有吗?哪有?一个速度框都没看见。对吧。大家还再跟大家强调一遍啊,以前我们开始说啊,必须这个final view是不是要这个方法之后啊。是吧,那隐含的意思就是我这个找法是在这个布局为里面找的。他现在就是没有。对吧。
15:00
那没有的话,你得想啊,我们这个时候去找他能找到吗?这么找吧。找不到啊。你应该告诉他在这个里面找吧。记住了。也就是说,View类的真实类型是布局文件标签,它里面是包含了很多子view对象啊。子view对象,因为这个U里面包含了子view对象。你说他应该提供什么方法呢?啊。Will。什么方法?是不是有啊。如果我去找一个单独独立的view的子,View必须通过view对象去找吧,你写的时候是R点。
16:00
ID点我们还是这一个,这个倒没问题,对不对。能看到吧。在这个地方如何得到一个独立view的view呢?就通过view.find view by ID啊,这里面指定ID是吧?能理解吧?那也就是说默认的find of you,这里还要补充一个啊。我直接执行b of you by。是在哪个里面找,是在active里面找吧,你在set content view中,到view里面去找吧,中找。能看懂吧,嗯,这个啊是大家必须得去理解的。好,那下面大家看着啊。我们现在呢,需要做的事情就是在前面加一个view点。
17:02
很多同学容易忘记写。他可能也知道。忘记写啊,忘记写没关系啊,只要你能最终找出来。下面还有一个。Name,还有一个PWD。嗯,这个呢叫pet。啊,你也可以写这个名字啊,一样的。好了,来看一下怎么来做呢?读写用户名,这个时候好做了吧。我要得到user name。叫name 1.gett的点to string。对吧,这个时候需要做一个事。学什么?是不是呀?好了,下面应该也是一样的,Pw de等于PW det.get。
18:04
哎,第一个。点Q。那也是一样,需要开了。好了,记得提示。提示做过不再做了啊。随便找一个都行。来把这个name呢给它写一下,嗯,中间呢,加上一个东西吧。加上一个冒号。好,下面来一个PWD。好了吧。来看看啊,能不能写。来试试走。来显示一个自定义的。
19:01
是了。好,现在我们来去点取消,肯定就是啥也没有啊,来点确定,我来输入一些数据,诶诶。来输入一个假设啊,输入一个QQ。输了个我的密码。嗯,123456。输入进去啊,点击确定。对的吧。没问题。就说的是我们的一个自定义布局的dialogue,在这里面这几个问题大家是必须得知道的,因为这以后我们经常会做这个事。
我来说两句