Android開發(fā)筆記 改變字體顏色的三種方法
更新時間:2012年11月07日 10:15:47 作者:
在TextView中添加文本時有時需要改變一些文本字體的顏色,今天學到了三種方法,拿出來分享一下
1.在layout文件下的配置xml文件中直接設置字體顏色,通過添加android:textcolor=“#FFFFFF”來變化顏色
但這樣的效果只能讓字體千篇一律的顯示一種顏色
2.在activity中通過TextView tv=new TextView(this);實例化一個textview,通過setContentView(tv);將其加載到當前activity,設置要顯示的內容String str=“想要顯示的內容”;通過以下代碼可以實現(xiàn)部分文本字體的改變,參數(shù)中的數(shù)字表示起始位置和結束位置,此種方法比較復雜
SpannableStringBuilder style=new SpannableStringBuilder(str);
//SpannableStringBuilder實現(xiàn)CharSequence接口
style.setSpan(new ForegroundColorSpan(Color.RED), 0, 2,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE );
style.setSpan(new ForegroundColorSpan(Color.YELLOW), 2, 4,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE );
style.setSpan(new ForegroundColorSpan(Color.GREEN), 4, 6,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE );
tv.setText(style);//將其添加到tv中
3.通過html標簽改變文本顏色
tv.setText(Html.fromHtml("我是<font color=blue>danyijiangnan</font>"));
通過Html.fromHtml()方法就可以在字符串中使用html的標簽,通過font標簽可以改變字體的格式
但這樣的效果只能讓字體千篇一律的顯示一種顏色
2.在activity中通過TextView tv=new TextView(this);實例化一個textview,通過setContentView(tv);將其加載到當前activity,設置要顯示的內容String str=“想要顯示的內容”;通過以下代碼可以實現(xiàn)部分文本字體的改變,參數(shù)中的數(shù)字表示起始位置和結束位置,此種方法比較復雜
復制代碼 代碼如下:
SpannableStringBuilder style=new SpannableStringBuilder(str);
//SpannableStringBuilder實現(xiàn)CharSequence接口
style.setSpan(new ForegroundColorSpan(Color.RED), 0, 2,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE );
style.setSpan(new ForegroundColorSpan(Color.YELLOW), 2, 4,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE );
style.setSpan(new ForegroundColorSpan(Color.GREEN), 4, 6,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE );
tv.setText(style);//將其添加到tv中
3.通過html標簽改變文本顏色
復制代碼 代碼如下:
tv.setText(Html.fromHtml("我是<font color=blue>danyijiangnan</font>"));
通過Html.fromHtml()方法就可以在字符串中使用html的標簽,通過font標簽可以改變字體的格式
相關文章
Android實現(xiàn)點匯聚成字的動態(tài)效果詳解
在引入?fl_chart?繪制圖表的時候,看到插件有下面這樣的動效,隨機散亂的圓點最后組合成了?Flutter?的?Logo,挺酷炫的。本篇我們來探討類似的效果怎么實現(xiàn)2022-07-07