没啥用的小知识系列之多按钮变色问题。
tabbar 背景色设置问题,反正我是没找到怎么改变的,所以就开始尝试按钮代替。
下面是代码部分
图1
封装一个按钮,传入text 和按钮标识。
图2
judgeColor(btid)是用来判断按钮颜色的代码,传入按钮标识,用来确定更改哪一个按钮。
图3
上面返回的是点击改变的颜色,下面的白色是默认背景色。
图4
在上面声明一下tips
图5
这是上面那个抽离按钮的点击事件。btid 就是1、2、3、4,你也可以写别的,这里是为了简单。
点击的时候,在setState里改变tips
图6
搞几个按钮。aa\bb\cc之类的是名称,1、2、3之类的是这个按钮的标识,就是上面要求传入的btid。
代码就不复制了,东西很简单,讲一下思路大家应该就都懂了,如果真的有人看并且有人需要的话,请留言。
问题是:我们想要一个可更改背景色的tabbar。
解决方法,直接使用可调整背景色的按钮。
步骤1、抽离一个按钮,为了区分点击时间,所以传入标识。
步骤2、写一个通过判断来返回颜色的方法。
步骤3、按钮的背景色使用这个方法。
步骤4、在点击的时候改变标识,实现颜色的改变。
我开始想了很多,但是一直没能实现我想要的效果,后来突然来了个灵感,我在声明的时候就给不同的按钮一个不同的标识。然后在按钮点击的时候,通过setState改变变量(tips)。因为每个按钮的标识都不同,而tips却是当前页面唯一地。所以当tips和其中一个按钮的标识相同时,其他的按钮必然是不同的。因此,实现了我想要的结果。











网友评论