在XML中,我们可以通过textColor
属性设置文本颜色,例如android:textColor="#FF0000"
.但是如何通过编码来改变它呢?
我尝试过类似的东西:
holder.text.setTextColor(R.color.Red);
Run Code Online (Sandbox Code Playgroud)
哪里holder
只是一个类,text
是类型TextView
.红色是以字符串形式设置的RGB值(#FF0000).
但它显示的是不同的颜色而不是红色.我们可以在setTextColor()中传递什么样的参数?它说int
,在文档中,它是资源参考值还是其他任何东西?
有没有办法从颜色资源中获取color-int?我试图获取资源(R.color.myColor)中定义的颜色的单个红色,蓝色和绿色组件,以便我可以将三个搜索栏的值设置为特定级别.
有关可能有助于在搜索结果中显示此问题的另一个用例的更多信息,我想将alpha应用于我的资源中定义的颜色.
使用@ sat的正确答案:
__PRE__
我正在创建一个应用程序,我希望能够通过用户输入(edittext)和十六进制值设置各种颜色,例如#eeeeee等.问题是我似乎无法弄清楚如何转换它们.
如果我在这样的代码中做一些事情就可以了:titlebar.setBackgroundColor(0xFF545455);
但是,如果我通过edittext检索一个值,说"545455"我无法让它工作
String tbColor = tb_color.getText().toString();
String value = "0xFF" + tbColor;
int setColor = Integer.valueOf(value);
titlebar.setBackgroundColor(setColor);
Run Code Online (Sandbox Code Playgroud)
任何人对如何实现这一点有任何想法?