Android Studio - czcionki

0

Hej. Mam następujący problem. W Android Studio zmieniam sobie czcionkę. Mam coś takiego:

<TextView
		android:id="@+id/abouttext"
		android:layout_width="310dp"
		android:layout_height="wrap_content"
		android:layout_marginBottom="5dip"
		android:background="@drawable/roundedtextview_down"
		android:fontFamily="@font/cormorant_upright_bold"
		android:paddingLeft="16dp"
		android:paddingRight="16dp"
		android:singleLine="false"
		android:text="@string/about_tekst"
		android:textAppearance="@android:style/TextAppearance" />

W podglądzie czcionka jest zmieniona. Problem się pojawia jak chcę odpalić aplikację na telefonie - wyświetla się czcionka podstawowa. Dodam, że w katalogu res->font znajduje się plik cormorant_upright_bold.ttf. Gdzie szukać rozwiązania?

0

Hej @jundymek

Innym sposobem zmiany czcionki jest umieszczenie jej w katalogu assets
struktura_katalogow.PNG
i ustawienie jej w kodzie:

...
Typeface tf= Typeface.createFromAsset(getAssets(), "fonts/cormorant_upright_bold.ttf");
abouttext.setTypeface(tf);
...

PS

<TextView
    ...
    android:fontFamily="..."
    ...
/>

Jest dostępne od Androida 4.1 (Jelly Bean; API 16):

Attribute fontFamily is only used in API level 16 and higher

0

Po dodaniu czcionki, android studio pokazuje błąd, że rozszerzenie .ttf jest nieprawidłowe. Co w takiej sytuacji mogę zrobić ??

0

Jeszcze inny sposób za pomocą data binding:

@BindingAdapter({"bind:font"})
public static void setFont(TextView textView, String fontName)
{
    Typeface tf = Typeface.createFromAsset(textView.getContext().getAssets(), "fonts/" + fontName);
    textView.setTypeface(tf);
}

A potem w XML tak:

<TextView
        android:id="@+id/abouttext"
        android:layout_width="310dp"
        android:layout_height="wrap_content"
        android:layout_marginBottom="5dip"
        android:background="@drawable/roundedtextview_down"
        app:font="@{`cormorant_upright_bold.ttf`}"
        android:paddingLeft="16dp"
        android:paddingRight="16dp"
        android:singleLine="false"
        android:text="@string/about_tekst"
        android:textAppearance="@android:style/TextAppearance" />

@jundymek - twój sposób wygląda ok, upewniej się, że twoja apka ma target sdk 27

1 użytkowników online, w tym zalogowanych: 0, gości: 1