как получить папку шрифтов в XML или Java - PullRequest
0 голосов
/ 02 ноября 2018

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

 new CalligraphyConfig.Builder()
                                .setDefaultFontPath("fonts/IRANSansMobile.ttf")
                                .build()))

но это шрифт из папки Assets! Теперь я хочу изменить нижний шрифт навигации, но теперь я не могу получить доступ к папке Активы!

<style name="Widget.BottomNavigationView" parent="Widget.Design.BottomNavigationView">
    <item name="fontFamily">@myfont/iransansmobile</item>
    </style>

вот мой вопрос:
1. как я могу установить шрифт в setDefaultFontPath из папки res / myfont?
2. как я могу установить шрифт из папки активов?

1 Ответ

0 голосов
/ 02 ноября 2018

Здравствуйте, я нашел это решение от Как использовать пользовательский шрифт в Android xml?

package com.vins.test;

import android.content.Context;
import android.graphics.Typeface;
import android.util.AttributeSet;
import android.widget.TextView;

public class MyTextView extends TextView {

    public MyTextView(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
        init();
    }

    public MyTextView(Context context, AttributeSet attrs) {
        super(context, attrs);
        init();
    }

    public MyTextView(Context context) {
        super(context);
        init();
    }

    private void init() {
        Typeface tf = Typeface.createFromAsset(getContext().getAssets(),
                                               "your_font.ttf");
        setTypeface(tf);
    }

}

XML:

<com.vins.test.MyTextView
    android:id="@+id/txt"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:layout_weight="1"
    android:text="This is a text view with the font u had set in MyTextView class "
    android:textSize="30dip"
    android:textColor="#ff0000"
   >

Удачи.

...