Java/Android 字符串到颜色的转换
我正在制作一个应用程序,我希望能够通过用户输入(edittext)和十六进制值(例如#eeeeee等)设置各种颜色。问题是我似乎不知道如何转换它们。
如果我在代码中做这样的事情,它工作得很好: 标题栏.setBackgroundColor(0xFF545455);
但是,如果我通过编辑文本检索一个值,例如“545455”,我将无法使其工作
String tbColor = tb_color.getText().toString();
String value = "0xFF" + tbColor;
int setColor = Integer.valueOf(value);
titlebar.setBackgroundColor(setColor);
任何人对如何实现此目标有任何想法吗?
I'm making an app and I'd like to be able to set various colors via user input(edittext) and hex values e.g. #eeeeee and so on. Problem is I cannot seem to figure out how to convert them.
If I do something in code like this it works fine:
titlebar.setBackgroundColor(0xFF545455);
However if I retrieve a value via the edittext say "545455" I cannot get it work
String tbColor = tb_color.getText().toString();
String value = "0xFF" + tbColor;
int setColor = Integer.valueOf(value);
titlebar.setBackgroundColor(setColor);
Anyone have any ideas on how to accomplish this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
怎么样
titlebar.setBackgroundColor(Color.parseColor("#545455"));
What about
titlebar.setBackgroundColor(Color.parseColor("#545455"));
http://download.oracle. com/javase/1.4.2/docs/api/java/lang/Integer.html#parseInt(java.lang.String, int)
例如:
http://download.oracle.com/javase/1.4.2/docs/api/java/lang/Integer.html#parseInt(java.lang.String, int)
For example:
这是我从任何字符串中获取颜色的函数。
例如:“世界你好!”将返回一些绿色的 R G B:84 181 132
注意:
如果您的字符串包含特殊字符、空格或数字,该函数不会每次都返回相同的数字(颜色)。那里有一些盐 - 我为这些角色分配了随机数字,只是为了好玩......
here is my function to get colors from ANY string.
Eg: "Hello World!" will return you some green color of R G B: 84 181 132
Note:
The function does not return the same number(color) each time if your string includes special characters, spaces or numbers. There is some salt there - I asigned random numbers to those characters, just for fun...