Android textview settextcolor相关问题

Android中TextView的settextcolor方法,是接受一个int型的参数,现在我要从xml文件里面读取一个形为“#FF00FF”的字符串,怎样把这个字符串处理成为我想要的int参数呢?今天试了很多方法都没有很好解决,想请教一下大家,谢谢啦!

3个回答

[code="java"]TextView tv = new TextView(this);
tv.setText("Test set TextView's color.");

String StrColor = null;
StrColor = "FFFFFFFF";
int length = StrColor.length();
if (length == 6) {
tv.setTextColor(Color.rgb(
Integer.valueOf(StrColor.substring(0, 2), 16),
Integer.valueOf(StrColor.substring(2, 4), 16),
Integer.valueOf(StrColor.substring(4, 6), 16)));
} else if (length == 8) {
tv.setTextColor(Color.argb(
Integer.valueOf(StrColor.substring(0, 2), 16),
Integer.valueOf(StrColor.substring(2, 4), 16),
Integer.valueOf(StrColor.substring(4, 6), 16),
Integer.valueOf(StrColor.substring(6, 8), 16)));
}[/code]不知道你知道不知道R文件中的int只是对Resource中的资源的索引,就是让找到自愿的。转换成那个int我不知道游泳没有,反正我这人很笨。只会这样笨笨的走了。

你想要的int参数是怎么样的?

[code="java"]TextView tv = new TextView(this);
tv.setText("Test set TextView's color.");
//方案一。通过rgb值的方式
tv.setTextColor(Color.rgb(255, 255, 255));

//方案二。通过资源文件
Resources resource = (Resources) getBaseContext().getResources();
ColorStateList csl = (ColorStateList) resource.getColorStateList(R.color.my_color);
if (csl != null) {
tv.setTextColor(csl);
}[/code]

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问