baifaxiaoyao 2012-09-17 02:46 采纳率: 100%
浏览 4452
已采纳

在一个TextView中可以有多种样式么?

我很好奇,给一个TextView中的不同段落的文字能否设置不同的样式。例如,我设置了像下边这样的文字:

descbox.setText(line1+ "\n" + line2+ "\n" + word1+ "\t" + word2+ "\t" + word3);

现在,给每段文字都有一个不同的样式是否可能呢?我的意思是第一行粗体,第一个文字正常等等
我发现了这个

  EditText vw = (EditText)findViewById(R.id.text);

    vw.setText("Italic, highlighted, bold.");

TextView.BufferType.SPANNABLE);
    Spannable str = vw.getText();

    str.setSpan(new StyleSpan(android.graphics.Typeface.ITALIC), 0, 7, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    str.setSpan(new BackgroundColorSpan(0xFFFFFF00), 8, 19, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    str.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), 21, str.length() - 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

但是它在文本里边使用数字位置。有更简单的方法么?

  • 写回答

5条回答 默认 最新

  • 鹳狸媛 2012-09-17 03:04
    关注

    这种情况下,每个人都想知道怎么做,这是一种方法:

    mBox = new TextView(context);
    mBox.setText(Html.fromHtml("<b>" + title + "</b>" +  "<br />" + 
                "<small>" + description + "</small>" + "<br />" + 
                "<small>" + DateAdded + "</small>"));
    

    这个非官方的列表是这个方法每个关键字的作用,请看this link

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看