Android 代碼中設置控件背景顏色,以TextView爲例

一.代碼中設置控件背景顏色,以TextView爲例:
html

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>
 **/

二.注意java

代碼中給控件設置背景顏色時,以下寫法沒法達到預期目標android

tv.setTextColor(R.color.textColor_black);

正確寫法是要從resources中獲取  字體

tv.setTextColor(this.getResources().getColor(R.color.textColor_black));

顏色設置必須經過Color類來操做 否則設置無效 ui


三.安卓系統字體顏色代碼and修改字體顏色  
this

一、在layout文件下的配置xml文件中直接設置字體顏色,spa

   經過添加  android:textcolor=「#FFFFFF」來變化顏色 但這樣的效果只能讓字體千篇一概的顯示一種顏色。  code

二、在activity中經過TextView tv=new TextView(this);xml

   實例化一個textview,經過 setContentView(tv);將其加載到當前activity,設置要顯示的內容String str=「想要顯示的內容」;htm

   經過如下代碼能夠實現部分文本字體的改變,參數中的數字表示起始位置和結束位置,此種方法比較複雜。  

   代碼以下:     

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中

三、經過html標籤改變文本顏色  

tv.setText(Html.fromHtml("我是<font color=blue>danyijiangnan</font>"));
相關文章
相關標籤/搜索