概述
在同一个TextView中,若要显示不同样式的字体,一般使用以下两种方式,一种是利用Html,另一种借助于Spannable类。
一、利用html显示不同样式的字体
@Override
public void onActivityCreated(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onActivityCreated(savedInstanceState);
TextView txt_main=(TextView) view.findViewById(R.id.text_one);
TextView txt_two=(TextView) view.findViewById(R.id.text_two);
String html = "<p><strong>你是小强吗?</strong></p>"
+ "<p><a href="http://www.panxiecan.cn">博客</a>超链接</p><p><font color="#aabb00">颜色1"
+ "</p><p><font color="#00bbaa">颜色2</p><h1>标题1</h1><h6>标题2</h6><p>2>1</p><p>"
;
txt_main.setText(Html.fromHtml(html));
二、利用Spannable显示不同样式字体
// 利用Spannable使“新的来电”和时间同时显示,并且可以分行、以不同的字体大小显示
String allString = "少爷电话n2016年12月13日";
Spannable WordtoSpan = new SpannableString(allString);
WordtoSpan.setSpan(new AbsoluteSizeSpan(28), 0, 6,
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
WordtoSpan.setSpan(new AbsoluteSizeSpan(15), 5, allString.length(),
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
txt_two.setText(WordtoSpan);
解:
1、需要先将普通的String型数据转换成Spannable对象;
2、利用Spannable的setSpan()函数设置显示样式。该函数第一个参数表示设置样式,如这里的new AbsoluteSizeSpan(58)是设置字体的字号为58。第二个和第三个参数分别表示起止字符,如(new AbsoluteSizeSpan(58), 0, 4,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE)表示从第一个到第四个字符字号设置为58。第四个参数自己查。
最后
以上就是传统御姐为你收集整理的Android之textview怎么显示不同的字体,颜色的全部内容,希望文章能够帮你解决Android之textview怎么显示不同的字体,颜色所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复