在文本视图android中设置部分文本

时间:2013-11-03 05:07:17

标签: android styles textview

我有一个文本视图,我想控制文本的样式。我的问题是我想要改变文本的一小部分的风格。例如,当用户执行某些操作时,文本的前三个字母变为红色。我知道如何为整篇文章做这件事。但不知道将样式仅应用于部分文本。

1 个答案:

答案 0 :(得分:1)

您应该使用ForegroundColorSpan

试试这个

TextView textview = (TextView) findViewById(R.id.textview);
        SpannableString text = new SpannableString("Your Text");
        // make "Your" (characters 0 to 4) Red
        text.setSpan(new ForegroundColorSpan(Color.RED), 0, 5, 0);
        // make "Text" (characters 4 to 8) Blue
        text.setSpan(new ForegroundColorSpan(Color.BLUE), 4, 8, 0);
        // save our styled text into the Button
        textview.setText(text, BufferType.SPANNABLE);

对于FontStyle,请使用StyleSpan作为参考StyleSpan

因此,使用可以在StyleSpan的帮助下使用自定义字体。

textview.setSpan(new StyleSpan(android.graphics.Typeface.BOLD_ITALIC), start,
                    end, Spannable.SPAN_INCLUSIVE_INCLUSIVE);

希望这会对你有所帮助。