-->

How to create custom fonts in android studio

2020-04-11 21:13发布

问题:

I need to add new fonts to my project where do i create it in android studio

Can someone advise if i create it in the correct directory in android studio?

I tried putting the fonts folder same location as SRC folder but didn't work out

my code is

Typeface fontRobo = Typeface.createFromAsset(context.getAssets(), "fonts/Roboto-Black.ttf");
viewTotalValue.setText(total.toString());

Is this correct? please advise

回答1:

if you use android studio , you should create assets folder from right click at

app ---> New --->Folder --->Assets Folder

choose destination to your assets folder default main

create directory called fonts in assets then place your font

|assets

    |-----------------fonts

        |-------------------Roboto-Black.ttf

|java

|res

AndroidManifest.xml

finally use this code

Typeface fontRobo = Typeface.createFromAsset(context.getAssets(), "fonts/Roboto-Black.ttf");
viewTotalValue.setText(total.toString()); 
viewTotalValue.setTypeface(fontRobo );


回答2:

You need to place your font file at the root of your project, inside a folder called 'assets'. You should end up with this structure :

src
|------------assets
    |-----------------fonts
        |-------------------font.ttf
|------------java
|------------libs
|------------res
AndroidManifest.xml


回答3:

In android studio, the assets folder have to be placed under the "main" folder. Not under the "res" folder.



回答4:

Since Android Studio uses the new Gradle-based build system, you should be putting the "assets/" folder inside of the source sets.

That was working for me:

src/main/assets/fonts/examalpefont.ttf



回答5:

You have to download custom font .ttf file. In my case I downloaded din.ttf file. put that in app->assets->fonts->din.ttf Write the code in MainActivity.java file

    TextView tx = (TextView)findViewById(R.id.textView1);
    Typeface custom_font = Typeface.createFromAsset(getAssets(), "fonts/din.ttf");
    tx.setTypeface(custom_font);

//that's it . Done!