在TextView中添加文本时有时需要改变一些文本字体的颜色,今天学到了三种方法,拿出来分享一下
1.在layout文件下的配置xml文件中直接设置字体颜色,通过添加android:textcolor=“#FFFFFF”来变化颜色
但这样的效果只能让字体千篇一律的显示一种颜色
2.在activity中通过TextView tv=new TextView(this);实例化一个textview,通过setContentView(tv);将其加载到当前activity,设置要显示的内容String str=“想要显示的内容”;通过以下代码可以实现部分文本字体的改变,参数中的数字表示起始位置和结束位置,此种方法比较复杂
3.通过html标签改变文本颜色
通过Html.fromHtml()方法就可以在字符串中使用html的标签,通过font标签可以改变字体的格式
但这样的效果只能让字体千篇一律的显示一种颜色
2.在activity中通过TextView tv=new TextView(this);实例化一个textview,通过setContentView(tv);将其加载到当前activity,设置要显示的内容String str=“想要显示的内容”;通过以下代码可以实现部分文本字体的改变,参数中的数字表示起始位置和结束位置,此种方法比较复杂
SpannableStringBuilder style=new SpannableStringBuilder(str); //SpannableStringBuilder实现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标签可以改变字体的格式