Skip to main content

How to change fontFamily of TextView in Android ?

How to change fontFamily of TextView in Android ?

A1.Java-first copy .ttf in Assets folder

         TextView tv = (TextView) findViewById(R.id.appname);
     Typeface face = Typeface.createFromAsset(getAssets(),
            "fonts/epimodem.ttf");
     tv.setTypeface(face);
         

A2:

       Within the *.xml you can combine the stock fonts with the following functions, not only with              typeface:
    android:fontFamily="serif" 
    android:textStyle="italic"
      With this two styles, there was no need to use typeface in any other case. The range of                          combinations is much more bigger with fontfamily&textStyle


A3.

    You set style in res/layout/value/style.xml like that:

    <style name="boldText">
    <item name="android:textStyle">bold|italic</item>
    <item name="android:textColor">#FFFFFF</item>
    </style>

  use this style in main.xml file use:

 style="@style/boldText"

A4.

         Here is an easier way that can work in some cases. The principle is to add a not visible                      TextVview in your xml layout and to get its typeFace in the java code.

       The layout in the xml file:

 <TextView
        android:text="The classic bread is made of flour hot and salty. The classic bread is made of flour hot and salty. The classic bread is made of flour hot and salty."
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:fontFamily="sans-serif-thin"
        android:id="@+id/textViewDescription"/>


A5.

      

Dynamically you can set the fontfamily similar to android:fontFamily in xml by using this,
For Custom font:

 TextView tv = ((TextView) v.findViewById(R.id.select_item_title));
 Typeface face=Typeface.createFromAsset(getAssets(),"fonts/mycustomfont.ttf"); 
 tv.setTypeface(face);

For Default font:

 tv.setTypeface(Typeface.create("sans-serif-medium",Typeface.NORMAL));
These are the list of default font family used, use any of this by replacing the double quotation string "sans-serif-medium"
FONT FAMILY                    TTF FILE                    

1  casual                      ComingSoon.ttf              
2  cursive                     DancingScript-Regular.ttf   
3  monospace                   DroidSansMono.ttf           
4  sans-serif                  Roboto-Regular.ttf          
5  sans-serif-black            Roboto-Black.ttf            
6  sans-serif-condensed        RobotoCondensed-Regular.ttf 
7  sans-serif-condensed-light  RobotoCondensed-Light.ttf   
8  sans-serif-light            Roboto-Light.ttf            
9  sans-serif-medium           Roboto-Medium.ttf           
10  sans-serif-smallcaps       CarroisGothicSC-Regular.ttf 
11  sans-serif-thin            Roboto-Thin.ttf             
12  serif                      NotoSerif-Regular.ttf       
13  serif-monospace            CutiveMono.ttf              
"mycustomfont.ttf" is the ttf file. Path will be in src/assets/fonts/mycustomfont.ttf .

Comments

Popular posts from this blog

Reset Android textview maxlines ?

Reset Android textview maxlines  ? A1.         Actually, the way android platform does that is by setting the MaxLine to                                            Integer.MAX_VALUE. textView . setMaxLines ( Integer . MAX_VALUE );        also, if you are using Ellipsize, don't forget to set to null. textView . setEllipsize ( null );       just check how the android framework do just that ;) watch the                                                              setMaxLines(Integer.MAX_VALUE); private void applySingleLine ( boolean singleLine , boolean applyTransformation ) { mSingleLine = singleLine ; if ( singleLine ) { ...

Android set the gravity for a TextView programmatically

Android set the gravity for a TextView programmatically  A1.        This will center the text in a text view: TextView ta = ( TextView ) findViewById ( R . layout . text_view ); LayoutParams lp = new LayoutParams (); lp . gravity = Gravity . CENTER_HORIZONTAL ; ta . setLayoutParams ( lp ); A2.      textView . setGravity ( Gravity . CENTER | Gravity . BOTTOM ); A3.              Use this code TextView textView = new TextView ( YourActivity . this ); textView . setGravity ( Gravity . CENTER | Gravity . TOP ); textView . setText ( "some text

Android and   in TextView ?

Android and &nbsp; in TextView ? A1.            The TextView should respect the non breaking space <string name = "test" > Hello&#160;world </string>                                     or new TextView ( "Hello\u00A0world" ); A2.      One unique situation I ran into was adding a non-breaking space to a string resource that took               String.format parameters. <resources> <string name = "answer_progress" formatted = "false" > Answered %d of %d </string> </resources>       I tried to simply copy and past the non-breaking space character into the string and it was                     replaced       with a regular old space after compilin...