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 MATLAB怎么通过柱坐标变换画开口是圆形的旋转抛物面?
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿