我们公司一个程序员同事让我给他做一个开关按钮的控件,我给他做好给他以后,过了一会儿他说这个开关按钮控件“长脚了”!其实,这个开关按钮的实现方式就是单选,所以我在实现开关按钮的同时也给他实现了单选按钮,这样他也可以拿这个按钮来做标题栏,但是“长脚了”是什么鬼?

打开网易新闻 查看精彩图片

通过他发的图片,的确可以看到在开关按钮的圆形按钮的左下方伸出来了一只“脚”,我看着也很新奇。但是,不管是我在他电脑上重新新建一个开关按钮,还是我自己在我电脑上复现这个问题,却没有发现圆形按钮长“脚”的情况。

开始,我以为是我代码哪里绘制得有问题,找问题都找了将近一个小时,总共在这个控件上花了我两个多小时的时间,但是看代码怎么也看不出来这个“脚”是怎么长出来的!

最后快抓狂了,为了不耽误同事工作,我就让同事把他的代码打包给我,我仔细研究研究,我看看在我自己电脑上能不能复现。

研究半会儿,我发现了问题所在,快被我同事气乐了!

原来,我的同事在单选按钮上设置了文本,也就是“开”和“关”,但是,他似乎忘了这茬了,并且按钮上的文本是可以单独设置选中和非选中状态的颜色的,他把文本颜色跟按钮的颜色设置成了一样了,这样一来这个开关按钮实际上是有字显示的,但是看起来像是没有字的样子。

而所谓伸出来的“脚”,其实就是因为文字的位置发生了偏移导致超出了开关按钮的圆形按钮区域,伸出来了那么一点。

最后,我将开关按钮选中文字的颜色改为了白色,和按钮颜色区分开来,那个“脚”的真相就浮出水面了!

打开网易新闻 查看精彩图片

结语

最后我是既觉得同事离谱又觉得好笑,离谱的是,想要达到他所说的出现“脚”的状况是需要一定的巧合的,没有谁会在给按钮设置文字的时候还把文字的选中颜色设置成和按钮颜色一样吧?

我还问他为什么这么“整我”,结果他也说不上来啥,我估计是我刚把这个按钮写出来,他觉得陌生,所以出现了这种“乌龙事件”。

只能这么解释啦!