希望在单个文本视图中具有多个文本显示样式

时间:2012-05-18 08:41:55

标签: android xml android-layout styles

我正在开发一个Android应用程序我想知道我怎么能用粗体常规制作几个单词而用斜体制作很少的单词例如我有一个带有文本HELLOO的textview现在我想在文本视图中显示这样的文本

HELL OO

请告诉我如何通过android中的样式实现这一点?

5 个答案:

答案 0 :(得分:3)

说,你有一个TextView即 etx ,请使用以下代码:


 final SpannableStringBuilder sb = new SpannableStringBuilder("HELLOO");

        final StyleSpan bss = new StyleSpan(android.graphics.Typeface.BOLD); // Span to make text bold
        final StyleSpan iss = new StyleSpan(android.graphics.Typeface.ITALIC);Span to make text italic
        sb.setSpan(bss, 0, 4, Spannable.SPAN_INCLUSIVE_INCLUSIVE); // make first 4 characters Bold 
        sb.setSpan(iss, 4, 6, Spannable.SPAN_INCLUSIVE_INCLUSIVE); // make last 2 characters Italic
        etx.setText(sb);

使用此方法的主要优点是您可以动态设置文本格式。

答案 1 :(得分:1)

<b>已弃用。使用<strong><em>代替<i>

text1.setText(Html.fromHtml("<strong>bold text</strong> normal text <em>italic text</em> "));

答案 2 :(得分:0)

如果在strings.xml中有String,那么。

<string name="startup"><b><i>HELL</i></b><i>oo</i></string> 

您可以在<string> </string>

中使用HTML标记

答案 3 :(得分:0)

如果你想把它变成粗体,请使用b标签。如果你想要它是斜体,请使用我的标签。如果你想要一个单词粗体或斜体将单个单词放在标签内。

 <resources> 
<string name="register"> <u><b><i>SignUp</i></b></u> </string>
</resources>

答案 4 :(得分:-2)

String text="<html>"+"<b>"+"Hell"+"</b>"+"<i>"+"oo"+"</i>"+"</html>";