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

﹥>﹥吖頭↗ 提交于 2020-02-28 20:42:02

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


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!