00:00
好,这个添加完以后的话呢,我们来看一下咱们做的这个效果跟系统,跟我们这个之前已经写好的这个的一个差别。哎,差别的话呢,我们看到也就是说这里边加了一个背景啊,有一个背景颜色,那那个背景颜色,如果我们在这个代码层面呢,那就是background就可以,不光可以设置个颜色,你也可以设置它是一个图片是吧,甚至说我们这个背景呢,你设置是一个jaable的时候呢,这个包JA实际上是不是也可以是一个,是不是一个select啊。就是说当你看到的是这样,我按下去的时候就变了,是不是就可以通过提供一个招股动画的方式去做这个事情啊,前面我们不都这样做吗?啊提供一个select一个形式啊行,那当时我们是在这个呃布局文件当中的方式啊,是这样去做的,在你布局里边呢,我去呃S这个整个招呼属性做的,那现在我们在代码层面,那我如果也想做出来类似于我们在这个布局文件当中这种的select这个效果,看看怎么去做。
01:08
啊,这是我们现在要说的这个问题,那先别说一个select了,我们先你先给我整一个布局再说啊,所以我们这呢,就可以去考虑设置一个这个布局。不是布局设置这个背景,那你就是点一个background,那这里你给我个。啊,就这样个需求啊,嗯,这个job的话呢,我们这个你就现在得提供一个方法了哈,或者说你得告诉我一个job具体的类的对象,就是我想要的那个情况的啊,那这里边的话呢,我们,呃,你得想一想该怎么去整,你要在布局文件当中,你实际上需要用的,可以理解成是不是一个shape呀。还记得吧,诶里边是不是它有专门的一个子子标签,去专门提供它这个背景颜色的了,然后我们你在这儿呢,直接布局文件中去用招呼就可以了,那现在的话呢,我们在代码层面,那应该试图找到一个是不是跟是跟ship所对应的一个类啊啊拿那个类的对象往这设置就可以了。
02:11
这个类是谁呢?看一下这啊,就是我们这里找的叫job job,我们可以看一下这个API。嗯,看一下我们这个API啊,所以点这一项,嗯,在我们这个Android点有一个graphics.job。这个下边的话呢,有我们这个叫gra job进来,这是关于这个类的一个描述啊,说a job with a color for button啊backgrounds就是用来提供这个颜色的一个背景的,说它可以定义在插文件当中,诶是不是跟我们这个标签使用。那其实就是我们想要找的嘛,啊,那这里边儿呢,相当于是提供他的一个对象的方式,那我们就把这个对象是不是就哎整到我们的这个形态这块就可以了。
03:10
对吧,那下边呢,我们就相当于造列对象,造列对象的话呢,我们专门的去提供一个工具类来做这个事情啊,新建一个class,哎,我叫job的一个YouTube行,在这里边public static提供一个draw。Job get一个job行。在这里边做这个事情啊,你一个知道不。嗯,这个啊。哎,这就是个grading job,然后呢,我们return一下这个gra job就可以了,那这个gra job呢,你不得设置它到底是什么颜色呀,等等这样的信息嘛,哎,那我们这里边可以设置这样的一些信息啊,看一下它,哎它里边呢有相关的一些属性,我们这呢提供set方法去设置这些属性,哎这呢大家就主要也就关注一下这么几个方法就可以了哈,哎,我这呢直接粘过来。
04:13
哎,有我们这个对象呢,去调一下。哎,这样一下啊好,嗯,这个调用的话呢,这个意思呢,都写着了,这呢是我们设置这个背景的一个颜色啊,叫RGB,那我们这呢,可以设置一下啊,Int型的一个RGB来通过参数一我们传过来来设置一下我们这个,嗯,你这个背景job所它对应的一个形状啊,这个recangle是一个矩形行,然后这个矩形的话呢,还可以设置它是一个圆角形的。这就相当于我们当时讲这个shape的时候,是不是就说过这样的一些属性啊,背景颜色呀,什么什么这个形状倒没有特意的去说过啊,因为默认就是个句型,也设置过它的圆角以及圆角半径啊,这些都都都做过啊,Ston啊,边沿的这样的一个宽度啊,一个颜色也都做过啊,这呢就是以这个对象啊,在Java当中就是以它来替代的,呃,半径,半径呢,我们也可以去专门提供一下啊,半径呢,它实际上是个float。
05:18
啊干净,然后下边呢,就提供一个sto,就是你这个边框的一个厚度和颜色,边框的厚度是一或者呢,我们这呢,还是给它体现出来,跟哎像素手机密度没关系啊,写个这样的个一,这个颜色呢是边框的,不妨呢,我也用RDB得了,哎就这样搞定一下好,然后呢,我们把这个对象呢,给它返回一下行,那这个工具类几个方法都有了,我们回到这个代码层面,我们就可以调用一下啊叫draw u.get这个job需要提供一个颜色,需要提供一个半径。啊,那这个颜色的话呢,是各式各样都不一样的,来我们再去提供一个这个什么R是吧。
06:04
点我们调一下这个next,他写个二幺吧。一个right。行,第一个呢,我们需要个颜色color点嗯,Color点这个r DB green,行这三个就有了,然后接下来的话呢,你再给我提供一个,嗯,到哪到这干净。嗯,就是这个圆角的一个半径啊DB two,这写一个五八。有这样背景颜色我们就设置好了再来。
07:10
我们把字体给长大了,就长大的这整不下了啊,那这个字体大小。15有点大。那这个background呢,报错应该是这个版本的问题啊,说这个这个方法的话呢,至少得是16,嗯,所以目前呢最小是15,那我们可以在这调一下,但实际上也能运行啊,但是他这呢,相当于是一个警告了,找到我们这个gra文件。15的话呢,是哪个版本啊。4.0,现在4.0就很少了啊,16呢,就是4.1。所以呢,你可以给他调一下。再跑。
08:09
还盛不下是吧,哎,这整的还是稍微有点大啊,边距大了。编剧。我们这儿写的在。这。行啊,这个呢,我就改成先不运行了,那这个此时我们实现的它其实上是一个单独的,就是这样一个背景颜色,没有涉及到select这样的啊,那么接下来我们就考虑一下说有没有类似于select这个标签的一个类对象能够实现我点击啊,就按下去的时候呢,它这个颜色不一样。啊,把这个我们先停一下。
我来说两句