Android在一个TextView里显示不同样式的字体
2015-11-10 12:10
609 查看
在同一个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 view类分析
- Android系统权限和root权限
- android studio 启动android device monitor 报java虚拟机启动失败
- [Android Pro] AIDL进程间传递自定义类型参数
- PorterDuff.Mode与Xfermode(android 6.0)
- android退出
- Android Html5 页面加载不出
- Android 跳转到拨号界面/拨打电话/联系人
- android 技术相关Blog
- Android触摸屏失效后的操作方法
- Android NFC开发概述
- SVN的使用(Android Studio)
- cannot reload avd list问题
- 获取蓝牙MAC地址
- Android: Selector 与 Shape 属性的一些基本用法
- android 动态添加View 两种方法
- android应用内网页开发
- Svn使用实践-android开发
- Android activity与service传递数据
- 安装android studio报错Failed to install Intel HAXM.