美文网首页
flutter同一页面多个按钮点击变色问题

flutter同一页面多个按钮点击变色问题

作者: 月魂xioa | 来源:发表于2020-05-18 19:14 被阅读0次

没啥用的小知识系列之多按钮变色问题。

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和其中一个按钮的标识相同时,其他的按钮必然是不同的。因此,实现了我想要的结果。

相关文章

网友评论

      本文标题:flutter同一页面多个按钮点击变色问题

      本文链接:https://www.haomeiwen.com/subject/faspohtx.html