一.代码中设置控件背景颜色,以TextView为例:
TextView tText=(TextView) findViewById(R.id.textv_name);
//第1种:
tText.setTextColor(android.graphics.Color.RED);//系统自带的颜色类
// 第2种:
tText.setTextColor(0xffff00ff);
/**
* 0xffff00ff是int类型的数据,分组一下0x|ff|ff00ff,0x是代表颜色整数的标记,ff是表示透明度,ff00ff表示颜色 * 注意:这里ffff00ff必须是8个的颜色表示,不接受ff00ff这种6个的颜色表示。
**/
//第3种:
tText.setTextColor(android.graphics.Color.parseColor("#87CEFA")) ; //还是利用Color类;
//第4种:
tText.setTextColor(this.getResources().getColor(R.color.red));
/**
* 通过获得资源文件进行设置。根据不同的情况R.color.red也可以是R.string.red或者R.drawable.red,
* 当然前提是需要在相应的配置文件里做相应的配置,如(xml 标签):
*
* <color name="red">#FF0000</color>
* <drawable name="red">#FF0000</drawable>
* <string name="red">#FF0000</string>
**/
二.注意
代码中给控件设置背景颜色时,如下写法无法达到预期目标
tv.setTextColor(R.color.textColor_black);
正确写法是要从resources中获取
tv.setTextColor(this.getResources().getColor(R.color.textColor_black));
颜色设置必须通过Color类来操作 不然设置无效
三.安卓系统字体颜色代码and修改字体颜色
1、在layout文件下的配置xml文件中直接设置字体颜色,
通过添加 android:textcolor=“#FFFFFF”来变化颜色 但这样的效果只能让字体千篇一律的显示一种颜色。
2、在activity中通过TextView tv=new TextView(this);
实例化一个textview,通过 setContentView(tv);将其加载到当前activity,设置要显示的内容String str=“想要显示的内容”;
通过以下代码可以实现部分文本字体的改变,参数中的数字表示起始位置和结束位置,此种方法比较复杂。
代码如下:
SpannableStringBuilder style=new SpannableStringBuilder(str);
//SpannableStringBuilder实现CharSequence接口
style.setSpan(newForegroundColorSpan(Color.RED),0,2,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE );
style.setSpan(newForegroundColorSpan(Color.YELLOW),2,4,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE );
style.setSpan(newForegroundColorSpan(Color.GREEN),4,6,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE );
tv.setText(style);//将其添加到tv中
3、通过html标签改变文本颜色
tv.setText(Html.fromHtml("我是<font color=blue>danyijiangnan</font>"));
来源:oschina
链接:https://my.oschina.net/u/2320057/blog/549507