// dynamically use SpannableString to change the font
Typeface tfaerial=Typeface.createFromAsset(getAssets(),"fonts/aerial.ttf"); Typeface tfTradeGothicLight=Typeface.createFromAsset(getAssets(), "fonts/TradeGothic-Light.OTF"); String strt_dialog_desc=this.getResources().getString(R.string.strt_dialog_desc); int upto=strt_dialog_desc.indexOf("."); if (strt_dialog_desc!=null) { aboutAuthTV.setTextColor(Color.BLACK); aboutAuthTV.setLineSpacing(1.2f, 1.5f); aboutAuthTV.setTextSize(23); SpannableString SS = new SpannableString(strt_dialog_desc); SS. setSpan ( new StyleSpan(tfTradeGothicLight.getStyle()), 0, upto,Spanned.SPAN_EXCLUSIVE_INCLUSIVE); SS. setSpan ( new StyleSpan(tfaerial.getStyle()), upto, strt_dialog_desc.length(),Spanned.SPAN_EXCLUSIVE_INCLUSIVE); yourtextView.setText(SS); }
// this is for changing the color so the font change does not work
String str="<font size =\"20\"><B>Bold</B> <br/> Then Normal Text<br/> <i>Then Italic</i> </font>" + "<br/> <font color=\"green\" >this is simple sentence </font>" + "<br/> <font face=\"verdana\" >this is simple sentence </font>"+ "<br/><br/><br/><br/><a>this is simple sentence</a>"; Spanned strHtml= Html.fromHtml(str); TextView tv = (TextView)findViewById(R.id.textView); tv.setText(strHtml);
source share