Custom Font on Android
I want to use a custom font in an Android app but using custom fonts seems to be a pain?! I can setup a custom font programmatically by adding it to each TextView -> lots of boilerplate code. I can create a new class CustomTextView extends TextView and add setTypeface in the constructor -> no xml context aware he开发者_运维百科lp for attributes anymore.
Is there another way to setup a custom font? By XML, by style, by theme?
Thanks in advance!
P.S. Is there a possibility to set an underline by XML?
use this code for change font textview..
TextView newfont;
newfont=(TextView) findViewById(R.id.textView1);
Typeface font=Typeface.createFromAsset(getAssets(), "fonts/DejaVuSerif-Italic.ttf");
newfont.setTypeface(font);
newfont.setText("This is the new font Text");
download DejaVuSerif-Italic.ttf file from web and put in fonts folder in assets folder.
You can include custom fonts under assets/fonts and then using the code from
https://github.com/browep/AndroidCustomFontWidgets/
you can specify the font in your XML, e.g.
<com.github.browep.customfonts.view.FontableTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="This is in a custom font"
app:font="MyFont-Bold.otf" />
The code supports FontableTextView and FontableButton, but it's quite easy to extend to support other widget types if you require.
精彩评论