Android在一个TextView里显示不同样式的字体
2015-11-10
1004
简介:
在同一个TextView里显示不同样式的字体
public void setSpan(Object what, int start, int end, int flags);
样式1:...
在同一个TextView里显示不同样式的字体
public void setSpan(Object what, int start, int end, int flags);
样式1:背景色、粗体、字体大小
-
效果

-
Code
TextView textView = (TextView) findViewById(R.id.text_view_font_1);
Spannable string = new SpannableString("修改背景色、粗体、字体大小");
string.setSpan(new BackgroundColorSpan(Color.RED), 2, 5, Spannable.SPAN_INCLUSIVE_INCLUSIVE);
string.setSpan(new StyleSpan(Typeface.BOLD), 6, 8, Spannable.SPAN_INCLUSIVE_INCLUSIVE);
string.setSpan(new AbsoluteSizeSpan(50), 11, 13, Spannable.SPAN_INCLUSIVE_INCLUSIVE);
textView.setText(string);
样式2:斜体加粗
-
效果

-
Code
TextView textView = (TextView) findViewById(R.id.text_view_font_1);
Spannable string = new SpannableString("Hello TextView");
string.setSpan(new StyleSpan(Typeface.BOLD_ITALIC), 0, 5, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
textView.setText(string);
样式3:字体颜色
-
效果

-
Code
TextView textView = (TextView) findViewById(R.id.text_view_font_1);
Spannable string = new SpannableString("设置红色字体");
string.setSpan(new ForegroundColorSpan(Color.RED), 2, 4, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
textView.setText(string);
样式4:下划线
-
效果

-
Code
TextView textView = (TextView) findViewById(R.id.text_view_font_1);
Spannable string = new SpannableString("带下划线的文字");
string.setSpan(new URLSpan(""), 1, 4, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
textView.setText(string);
样式5:字体宽度(设置字体宽度比)
-
效果

-
Code
TextView textView = (TextView) findViewById(R.id.text_view_font_1);
Spannable string = new SpannableString("“胖”文字和“瘦”文字");
string.setSpan(new ScaleXSpan(2.0f), 1, 2, Spannable.SPAN_INCLUSIVE_INCLUSIVE);
string.setSpan(new ScaleXSpan(0.5f), 7, 8, Spannable.SPAN_INCLUSIVE_INCLUSIVE);
textView.setText(string);
样式6:删除线
-
效果

-
Code
TextView textView = (TextView) findViewById(R.id.text_view_font_1);
Spannable string = new SpannableString("把“删除”划掉");
string.setSpan(new StrikethroughSpan(), 2, 4, Spannable.SPAN_INCLUSIVE_INCLUSIVE);
textView.setText(string);
样式7:前景色
-
效果

-
Code
TextView textView = (TextView) findViewById(R.id.text_view_font_1);
Spannable string = new SpannableString("设置前景色为红色");
string.setSpan(new ForegroundColorSpan(Color.RED), 6, 7, Spannable.SPAN_INCLUSIVE_INCLUSIVE);
textView.setText(string);
样式8:URL
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。