Search code examples
androidtextviewandroid-typeface

Is it possible to have multiple Typefaces in the same TextView?


I know how to change text attributes and color for a TextView, but is it possible to have multiple Typefaces in the same TextView?
For instance, can I use both Droid Sans and Droid Mono in the same TextView at the same time?

If so, how?


Solution

  • Actually it looks like you can do it with the help of a Spannable:

    String text = "This is an example";
    
    Spannable s = new SpannableString(text + " text");
    s.setSpan(new TypefaceSpan("monospace"), 0, text.length(),
                Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    s.setSpan(new TypefaceSpan("serif"), text.length(), s.length(),
                Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    
    ((TextView)findViewById(R.id.my_text_view)).setText(s);