在同一个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 xmltextView.setText(contact);

更多相关文章

  1. 关于启动Activity动画样式以及问题。
  2. Android(安卓)自定义CheckBox样式
  3. Android(安卓)5.0以上版本去掉Button自带阴影效果的方法
  4. Android(安卓)自定义ProgressDialog示例实现
  5. Android(安卓)ListView下拉刷新点击加载更多[转]
  6. 让View只显示下边框
  7. Android——Shader渲染器
  8. 24. android dialog ——ProgressDialog 进度条对话框详解
  9. Android使用banner实现自动手动轮播图

随机推荐

  1. 项目实战7—Mysql实现企业级数据库主从复
  2. mysql值以数组格式转换为PHP数组
  3. MySQL多个连接到付款数据的日历表
  4. mysql5.6配置同步复制的新方法以及常见问
  5. 在mysql shell中显示没有表行的查询结果(
  6. SQL调优案例,MYSQL服务器CPU100%问题解决
  7. mysql中select列表可以有group列表中没有
  8. 确定SQL UPDATE是否更改了列的值
  9. 当python遇到mysql时,如何顺利安装mysql
  10. 如果没有匹配,则使用默认值执行左连接。