您的位置:首页 > 移动开发 > Android开发

Android 代码中设置控件背景颜色,以TextView为例

2015-12-23 00:00 435 查看
一.代码中设置控件背景颜色,以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>"));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息