I am creating an android button for reload. It want to have both icon and text in the button so I am using fontawesome. But how do I apply fontawesome font and custom font I am using in my app at same Time on the buttons text.
This is how I achieved it and used CustomTypefaceSpan Class from https://stackoverflow.com/a/10741161/992665
public class MainActivity extends Activity {
Typeface tf_r, tf_icon;
Button reload;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
int hexVal = Integer.parseInt("f021", 16);
SpannableStringBuilder SS = new SpannableStringBuilder((char)hexVal + " Refresh");
tf_r = Typeface.createFromAsset(this.getAssets(), "www/fonts/Roboto-Light.ttf");
tf_icon = Typeface.createFromAsset(this.getAssets(), "www/fonts/fontawesome-webfont.ttf");
SS.setSpan(new CustomTypefaceSpan("", tf_icon), 0, 1,Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
SS.setSpan(new CustomTypefaceSpan("", tf_r), 1, 9,Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
reload = (Button) findViewById(R.id.no_openings_reload);
reload.setText(SS);
}
}
try below code:-
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);
or
TextView myTextView=(TextView)findViewById(R.id.textBox);
Typeface typeFace=Typeface.createFromAsset(getAssets(),"fonts/mytruetypefont.ttf");
myTextView.setTypeface(typeFace);
or
Typeface tf = Typeface.createFromAsset(getAssets(),"fonts/verdana.ttf");
textfield.setTypeface(tf,Typeface.BOLD);
see below link for more info :-
http://www.androidhive.info/2012/02/android-using-external-fonts/
http://www.tutorialspoint.com/android/android_custom_fonts.htm
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With