最近我不是在搞那个NX 二次开发嘛然后遇到一个问题,就是我想把那个视图的背景颜色改一下,默认的那个灰不拉几的颜色,看久眼睛疼。然后我就去查资料,找方法,还真让我给弄出来。今天就来跟大家分享一下我的实践过程。
我也不知道用哪个方法,就在网上搜搜。网上说的乱七八糟的,有些说用 setBackgroundColor() ,有些又说别的。不过大部分都提到 setBackgroundColor() 这个方法,我想,那就先试试这个。
摸索阶段
我一开始以为,这个方法肯定很简单,直接调一下就行。结果,我发现事情没那么简单。我试好几种颜色值,什么 "#FF0000" ,"red" ,都不行。要么就是没反应,要么就是报错。
后来我又仔细看下资料,才发现,原来这个颜色值还挺有讲究的。有些地方说,它接受的颜色值范围是 0 到 1,而不是我们平时用的 0 到 255。这下我就懵,这咋整?
转换颜色值
没办法,只能继续查资料。然后我就找到一个公式,可以把 0 到 255 的 RGB 值转换成 0 到 1 的值。公式大概是这样的:
- 红色值 = 红色值(0-255) / 255
- 绿色值 = 绿色值(0-255) / 255
- 蓝色值 = 蓝色值(0-255) / 255
比如说,我要设置成纯红色,那 RGB 值就是 (255, 0, 0)。按照上面的公式,转换后的值就是 (1, 0, 0)。
实践出真知
知道怎么转换颜色值,我就赶紧去试一下。果然,这回成功!视图的背景颜色变成我想要的红色。我当时那个激动,感觉自己又攻克一个难题。
然后,我又试试其他的颜色,也都成功。这下,我总算是把这个 setBackgroundColor() 方法给搞明白。
总结一下
今天这个实践告诉我,遇到问题不要慌,要多查资料,多尝试。就是要细心,不能想就像这回如果我一开始就注意到颜色值的范围问题,可能就不会走那么多弯路。今天就分享到这里,希望对大家有所帮助!