如何使TextView的文本加下划线?

时间:2015-04-13 09:26:18

标签: android

有一个TextView

TextView tabTitle = (TextView) tab.findViewById(R.id.tabLabel);

TextView有一个text

如何使其text成为underlined

5 个答案:

答案 0 :(得分:4)

使用Spannable对象。您可以在此处找到UnderlineSpan

的文档
String text = "your text";
SpannableString content = new SpannableString(text);
content.setSpan(new UnderlineSpan(), 0, text.length(), 0);
tabTitle.setText(content);

答案 1 :(得分:3)

有三种方法可以强调下划线,

  1. 将spannable对象用作

    String data="Underlined Text";
    SpannableString content = new SpannableString(data);
    content.setSpan(new UnderlineSpan(), 0, data.length(), 0);
    mTextView.setText(content);
    
  2. 使用Html.fromhtml()

    String htmlStr="<u>Underlined Text</u>";
    mTextView.setText(Html.fromHtml(htmlStr));
    
  3. 您可以使用TextView的setPaintFlags方法

    mTextView.setPaintFlags(mTextView.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);
    mTextView.setText("Underlined Text");
    

答案 2 :(得分:2)

如果您使用string resource xml文件,它可以实现,该文件支持

等HTML标记。

<resource>
    <string name="your_string">This is an <u>underline</u> content.</string>
</resources>

如果您想使用代码使用下划线:

TextView textView = (TextView) view.findViewById(R.id.textview);
SpannableString content = new SpannableString("Content");
content.setSpan(new UnderlineSpan(), 0, content.length(), 0);
textView.setText(content);

答案 3 :(得分:2)

TextView.setPaintFlags(TextView.getPaintFlags() |  Paint.UNDERLINE_TEXT_FLAG);

答案 4 :(得分:1)

TextView还支持HTML:

String text = "<font color=#ff0000><b><u>"+ "My Demo Text" +"</b </u></font>";
mytextview.setText(Html.fromHtml(text));