Android在一个TextView里显示不同样式的字体
在同一个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
效果
Code
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); // or set 'android:autoLink' in layout xml
textView.setText(contact);
Android在一个TextView里显示不同样式的字体的更多相关文章
- Android TextView里显示两种颜色
今天介绍一个小技巧,在Android的TextView里设置两种颜色,直接上代码: TextView TV = (TextView)findViewById(R.id.mytextview01); S ...
- Android: 在 TextView 里使用删除线
Android: 在 TextView 里使用删除线 分类: Android2014-09-25 13:17 3431人阅读 评论(0) 收藏 举报 以编程的方式添给 TextView 添加删除线: ...
- 我的Android进阶之旅------> Android在TextView中显示图片方法
面试题:请说出Android SDK支持哪些方式显示富文本信息(不同颜色.大小.并包括图像的文本信息).并简要说明实现方法. 答案:Android SDK支持例如以下显示富文本信息的方式. 1.使用T ...
- 我的Android进阶之旅------> Android在TextView中显示图片方法
面试题:请说出Android SDK支持哪些方式显示富文本信息(不同颜色.大小.并包含图像的文本信息),并简要说明实现方法. 答案:Android SDK支持如下显示富文本信息的方式. 1.使用Tex ...
- Android的TextView在显示文字的时候,如果有段中文有英文,有中文,有中文标点符号,你会发现,当要换行的时候遇到中文标点, 这一行就会空出很多空格出来
一.问题描述: Android的TextView在显示文字的时候,如果有段中文有英文,有中文,有中文标点符号,你会发现,当要换行的时候遇到中文标点, 这一行就会空出很多空格出来.原因是: 1) Tex ...
- android中textview单行显示,多余的省略
<TextView android:id="@+id/music_title" android:layout_width="wrap_content" a ...
- 我的Android进阶之旅------> Android为TextView组件中显示的文本添加背景色
通过上一篇文章 我的Android进阶之旅------> Android在TextView中显示图片方法 (地址:http://blog.csdn.net/ouyang_peng/article ...
- 我的Android进阶之旅------> Android为TextView组件中显示的文本加入背景色
通过上一篇文章 我的Android进阶之旅------> Android在TextView中显示图片方法 (地址:http://blog.csdn.net/ouyang_peng/article ...
- 我的Android进阶之旅------> Android为TextView组件中显示的文本加入背景色
通过上一篇文章 我的Android进阶之旅------> Android在TextView中显示图片方法 (地址:http://blog.csdn.net/ouyang_peng/article ...
随机推荐
- [LeetCode] Valid Square 验证正方形
Given the coordinates of four points in 2D space, return whether the four points could construct a s ...
- 众说纷纭的ul、ol、li
(1)提到ul ol li,大家都知道,就是三个列表标签,ul表示无需列表(unordered list),ol表示有序列表(oredr list), li 表示列表项(list item),之前我也 ...
- NC帮助文档网址
NC帮助文档: https://wenku.baidu.com/view/2d05a77c0b4e767f5acfceb6.html NC方法总结: ...
- NC二次开发常用的表
常用的表: 收费清单:pr_cr_receivables 会计月份: bd_accperiodmonth 20180416
- 【NOIP2012TG】solution
D1T1(Vigenere) 题意:给你一个原串与一个密码串,问你按照题意规则加密后的密文. 解题思路:暴力模拟. #include <stdio.h> ],c[],u1[],u2[]; ...
- 【NOIP2016TG】solution
传送门:https://www.luogu.org/problem/lists?name=&orderitem=pid&tag=83%7C33 D1T1(toys) 题意:有n个小人, ...
- VS生成项目时,有些文件无法复制到输出目录的解决办法
有时候,我们在生成项目时,发现有些文件如:.jpg的图片文件,无法复制到输出目录中,此时会非常纠结,反复的清理项目,重新生成,依旧不能解决此问题.后来我打开.csproj的项目工程文件时,经过对比发现 ...
- 73. Set Matrix Zeroes(中等)
Given a m x n matrix, if an element is 0, set its entire row and column to 0. Do it in place. 重点是空间复 ...
- reload(sys)后print失效问题解决
python版本: python2.7.6 #查看python默认编码格式 >>> import sys >>> print sys.getdefaultencod ...
- 排序算法的C语言实现(上 比较类排序:插入排序、快速排序与归并排序)
总述:排序是指将元素集合按规定的顺序排列.通常有两种排序方法:升序排列和降序排列.例如,如整数集{6,8,9,5}进行升序排列,结果为{5,6,8,9},对其进行降序排列结果为{9,8,6,5}.虽然 ...