Android在一个TextView里显示不同样式的字体
发布日期:2021-05-14 18:05:22 浏览次数:19 分类:精选文章

本文共 2835 字,大约阅读时间需要 9 分钟。

Android TextView 样式优化指南

开发过程中,给 TextView 赋予多样化的样式功能,可以提升用户体验。本文将详细说明如何通过 SpannableString 实现多种样式效果。

1. 背景色、粗体、字体大小

效果展示

通过设置背景颜色、字体加粗和特定字体大小,可以让文本在视觉上更加突出和个性化。

代码示例

TextView textView = (TextView) findViewById(R.id.text_view_font_1);
SpannableString 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. 斜体加粗

效果展示

中文环境下,您将看到文本的斜体效果。

代码示例

TextView textView = (TextView) findViewById(R.id.text_view_font_1);
SpannableString string = new SpannableString("Hello TextView");
// 设置斜体加粗
string.setSpan(new StyleSpan(Typeface.BOLD_ITALIC), 0, 5, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
textView.setText(string);

3. 字体颜色

效果展示

只改变特定部分的字体颜色,其他部分保持不变。

代码示例

TextView textView = (TextView) findViewById(R.id.text_view_font_1);
SpannableString string = new SpannableString("设置红色字体");
// 设置红色字体
string.setSpan(new ForegroundColorSpan(Color.RED), 2, 4, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
textView.setText(string);

4. 下划线

效果展示

文本中指定部分会显示下划线效果。

代码示例

TextView textView = (TextView) findViewById(R.id.text_view_font_1);
SpannableString string = new SpannableString("带下划线的文字");
// 设置下划线
string.setSpan(new StrikethroughSpan(), 1, 4, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
textView.setText(string);

5. 字体宽度

效果展示

通过设置缩放比例,增强文字的表现力。

代码示例

TextView textView = (TextView) findViewById(R.id.text_view_font_1);
SpannableString string = new SpannableString("“胖”文字和“瘦”文字");
// 设置宽度为原文字面2倍
string.setSpan(new ScaleXSpan(2.0f), 1, 2, Spannable.SPAN_INCLUSIVE_INCLUSIVE);
// 设置宽度为原文字面0.5倍
string.setSpan(new ScaleXSpan(0.5f), 7, 8, Spannable.SPAN_INCLUSIVE_INCLUSIVE);
textView.setText(string);

6. 删除线

效果展示

文本中指定部分会显示删除线效果。

代码示例

TextView textView = (TextView) findViewById(R.id.text_view_font_1);
SpannableString string = new SpannableString("把“删除”划掉");
// 设置删除线
string.setSpan(new StrikethroughSpan(), 2, 4, Spannable.SPAN_INCLUSIVE_INCLUSIVE);
textView.setText(string);

7. 前景色

效果展示

指定内容前的字体颜色会改变。

代码示例

TextView textView = (TextView) findViewById(R.id.text_view_font_1);
SpannableString string = new SpannableString("设置前景色为红色");
// 设置红色前景色
string.setSpan(new ForegroundColorSpan(Color.RED), 6, 7, Spannable.SPAN_INCLUSIVE_INCLUSIVE);
textView.setText(string);

8. URL

效果展示

特定文本会显示链接形式。

代码示例

TextView textView = (TextView) findViewById(R.id.text_view_font_1);
final String contact = "Email: kongqw@foxmail.com\n" +
"Phone: 188123456789\n" +
"Fax: +47-12345678\n" +
"HTTP: http://blog.csdn.net/q4878802";
textView.setAutoLinkMask(Linkify.ALL);
textView.setText(contact);

这些样式化设置为开发者提供了更多的文本定制可能性,让您的应用用户体验更加丰富。通过灵活运用这些功能,您可以根据需求进行个性化定制。

上一篇:JavaScript
下一篇:科学家的研究:老天给的份额天生不一样

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2025年04月07日 12时07分49秒