2017-01-01 18 views
1

Я загрузил шрифт для включения в свой Android-проект.Правильный способ установить стиль пользовательского шрифта в Android

Теперь мне нужно также включить «жирные» и «курсивные» версии шрифта в мои активы или мне нужен только обычный? И если я это сделаю, мне нужно вручную setTypeface(getBoldFont(), Typeface.BOLD) для полужирного (и курсив) или Android автоматически сделает это для меня?

+1

Вам нужен смелый и наклонные версии. –

+0

@ Rotwang Итак, мне нужно вручную установить шрифт? Но какой флаг стиля я использую? Я предполагаю, что он будет двойным «полужирным», если я использую флаг BOLD на полужирный шрифт. –

+0

** NO **. Вы можете использовать только жирный флаг на полужирный шрифт. Использование жирного шрифта на полужирном шрифте не будет выделено жирным шрифтом. Эти «флаги» работают только путем выбора правильного шрифта - ** если ** вы его предоставляете. –

ответ

3

Загрузите следующие 4 типа шрифта: normal, bold, italic, bold_italic. Затем создайте класс CustomFont следующим образом:

public class CustomFont { 
    Context context; 
    public CustomFont(Context context) { 
     this.context = context; 
    } 

    public Typeface setNormalFont() { 
     Typeface typeface = Typeface.createFromAsset(context.getAssets(),"fonts/normal.ttf"); 
     return typeface; 
    } 

    public Typeface setBoldFont() { 
     Typeface typeface = Typeface.createFromAsset(context.getAssets(), "fonts/bold.ttf"); 
     return typeface; 
    } 

    public Typeface setItalick() { 
     Typeface typeface = Typeface.createFromAsset(context.getAssets(), "fonts/italic.ttf"); 
     return typeface; 
    } 

    public Typeface setItalickBold() { 
     Typeface typeface = Typeface.createFromAsset(context.getAssets(), "fonts/italic_bold.ttf"); 
     return typeface; 
    } 
} 

Затем, когда вы хотите установить шрифт на любой точку зрения, вы можете использовать следующий код, чтобы использовать нужный шрифт:

CustomFont customFont = new CustomFont(this); 
textView.setTypeFace(customFont.setNormalFont());