Добавить пользовательский шрифт в приложение для Android

Я пытаюсь добавить собственный шрифт в мое приложение для Android. Это мой код Может кто-нибудь сказать мне, где я не прав?

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        TextView textview = (TextView) findViewById(R.id.FontTest);

        Typeface tf = Typeface.createFromAsset(getApplicationContext()
                .getAssets(), "fonts/snap-itc.ttf");
        textview.setTypeface(tf);
    }
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >
    <TextView 
        android:id="@+id/FontTest"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Font Test"
        android:textSize="50px"/>
</RelativeLayout>

3 ответа

Положил

Typeface tf = Typeface.createFromAsset(getAssets(), "fonts/snap-itc.ttf");

Вместо:

Typeface tf = Typeface.createFromAsset(getApplicationContext()
                .getAssets(), "fonts/snap-itc.ttf");

добавить шрифты в вашем приложении, как

 TextView txtvw=(TextView)findViewById(R.id.textviewname);

 Typeface typface=Typeface.createFromAsset(getAssets(),"fonts/burmese.ttf");

  txtvw.setTypeface(typface);

Это может быть очевидно, но убедитесь, что у вас есть папка / assets / fonts в каталоге вашего проекта, и ваш собственный шрифт там. Также проверьте правильность написания вашего шрифта (+ это прописные / строчные буквы) и исправьте написание в вашем коде.

Это также может означать, что сам шрифт поврежден.

Другие вопросы по тегам