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

一.代码中设置控件背景颜色,以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>"));


转载于:https://my.oschina.net/u/2320057/blog/549507

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值