Android——动态设置view背景颜色setBackgroundColor

setBackgroundColor 用于动态设置view背景颜色

今天写代码的时候遇到个小问题

动态设置的时候用Color.GRAY,系统自己带着的颜色,是没有问题的

但是用自己定义的颜色,就不生效。

然后我搜索到了下面这个网址

android代码设置背景setBackgroundColor无效

请浏览上面网址后继续往下看

我觉得他讲的有一定道理,但是好像又不全对。

经过我自己试验,我讲Color.xml中的改成#FF6495ED,按照他说的,就应该是可以了,但是还是无效。可见他说的不是全对的。

先说下解决方案,你有以下几个选择

1、按照上面博客中写的(RGB形式) 
setBackgroundColor(Color.rgb(255, 0, 0)); 
如果要使用这种方法我提供一个网站, 
HEX与RGB互相转换

2、使用如下语句,利用系统的parseColor设置(HEX形式/16进制形式) 
setBackgroundColor(Color.parseColor(“#6495ED”));

3、下面这个方法过期了,但是也是可以使用的 
setBackgroundColor(getResources().getColor(R.color.cornflowerblue));

应该还有别的方法设置(选择器),这里我就先不写了,以后可能会更新,我觉得上述博客中写的错误原因,要不就是他没有表述清楚,要么就是这个原因具有片面性。

以上。

猜你喜欢

转载自blog.csdn.net/zhw0596/article/details/81809185
今日推荐