00:01
嗯哈嗯,咱们这个视频呢,主要是给大家去阐述一下,在咱们鸿蒙开发当中啊,如何实现一个组件的啊,一个多态样式。嗯,那么什么是多态样式呢?你比方你比方说一个按钮对吧,它默认状态下,哎是一个黑色背景,那么我们点击后呢,哎是一个红色,我们手指放开之后呢,哎还原我们啊原来的黑色,你比如说现在,呃,现在我们这个。啊,小DEMO,然后我们去点击一下看默认情况是黑色,我们点击一下,哎,它就是红色,那我们手指放开之后呢,哎,它又还原成了。黑色,那么这样一个功能啊,我们如何去实现它呢?想必大家肯定会能想到怎么着,哎,我们可以实现怎么样通过你的touch对吧,当你当你那个如果说你是按下哎对吧,我给它设置它的背景颜色为哎为红色,当你手指弹起的时候,哎,我给它设置为黑色,OK, 这是一种实现方式,是完全没有问题的啊,我们先可以先把这种方式,然后我们去实现一下啊,首先呢。
01:14
啊,这是一个很简单的对吧,一个布局对吧,根布局是一个克隆,然后我们给他写一个组,But.是点这个。OK.因为我们怎么着要动态的去改变这个button的一个背景,所以说我们需要把这个背景提取成一个哎,成员的变量。我们。给它设置一个正向变量。使用I had stayed, 然后去修饰去。点击别情。
02:00
它是一个resource come.默认的话,我们给它一个black。OK, 也就是说当咱们去要去监听什么,刚才已经说过,第一种方式要鉴定它的一个手势,对吧?哎,我们就是实行一个。Onto这个是不是?它返回一个。好吃疑。哎,我们就就就去实现里面我们的手指按下抬起对吧。Event里面有一个,嗯,APP.And can I kiss.嗯,是arch type.啊,我们手指。嗯,吃太饱了。
03:07
这是什么?手指按下。还有手指啊。抬起,那么手指按下的时候啊,哎,我们就给它改变为无心。给他一个红色,那么手指抬起的时候呢,哎,我们就给他一个还原和我们的黑色。啊,我们让这个。Button进行居中了,我们给我们的一个外层的column设置一个框和高。然后给它设置一个居中。Just connect, 然后。Can we go.Its a long center.
04:02
我OK,我们去啊,我们为了那个什么,我我给他为他做一个区分啊,咱们给他叫一个点击按钮来,我咱们去运行一下。好,已经运行起来了,对吧,点击按钮,我们来去点击一下,哎,对吧,手指按下,哎改变成了红色,把手指抬起。哎,手指抬起,为什么没有改变颜色呢?哦,原来我们这里写错了,这个应该是一个。啊,所以说我们在平常写代码的时候一定要认真,这是很重要的。好,已经给你起来了,来,手指按下为红色,手指抬起为还原原来的之前的黑色,OK, 这样一个多态样式我们已经去实现了,但是呢,显然这种样式,这种实现方式呢,并不是我们本次视频所讲的,因为啥。因为为什么,因为它太繁琐了,其实系统当中其实给我们提供了一个啊。
05:05
多态的样式,让我们去去实现哎,我们呃想要的效果,你比如说你是按压呀,还是正常态,那么呃,其实它其实呢,对吧,呃,系统已经给我们提供了这样一个属性,是什么属性呢?叫State stars.哎,我们使用这个。Stay stars来实现一下。我们就可以不要这个了。对吧,这些东西我们都可以不用,对吧,因为这是我们第一种用我们的正常的一个代码思维而实现的,其实这种是这种多单样式呢,其实系统上都已经给你们提供了。The state.Stars.OK, 那么这个属性呢,咱们可以看一下,它给我们提供了。很多种的状态,对吧,有什么就我们的normal就是什么啊,正常态还有什么。
06:05
就是一个按压的台,按压的一个状态,还有一个什么disable,就是一个啊,不可用的一个状态,当然还有什么啊。Focus就是哎,获取焦点的状态,以及我们的可导典型的一个状态,以及Li的就是我们选择的一个。状态来,我们去直接去实现它里面的几个状态啊,当然这几个状态根据我们,呃,实际当中,如果说你用到哪个状态,你就去啊选择哪个状态啊,我们使用一个按压的状态,对吧?C的。在按压的状态下呢,我们怎么着要改变它的一个背景对不对。That work.按压之后怎么着是红色对吧,还有什么正常态对吧,那。
07:05
嗯。正常态,哎,我们就是一个来一个黑色。好,我们去运行一下。来我们看一看效果,按压红色对吧。抬起,哎,它就是黑色,基本上我们使用这个,哎,Stick stairs也实现了我们刚才使用ontouch所实现的一个效果,所以这就是呃,我们能用属性就用属性,如果说实在说我们用性能的属性无法进行实现的情况下,哎,我们可以怎么着?哎,再使用我们的一个代码逻辑,OK, 呃,咱们再把本次视频再回顾一下,我们重点的话就讲了一个多胎样式,那么多态样式呢,就是啊,每个组件都有一个什么sta stars这个呃属性,那么这个属性下面呢,它有4种状态,嗯,应该来说有啊6种状态对吧?一个是点击状态对吧,获取焦焦点状态,正常态,按压态,还有不可用状态,以及我们的选中态,那么这些状态呢,可以,呃,在咱们实际的开发中啊,可以根据不同的状态去设置不同的样式,就不用说在咱们啊,再去写我们。
08:34
所谓的逻辑代码去实现,哎,我们的一个效果OK,大家记住这个属性对吧,Start stars OK, 那咱们本次视频就到这里,感谢大家。
我来说两句