Android - Menggunakan Font Kustom

266

Saya menerapkan font khusus ke TextView, tetapi tampaknya tidak mengubah jenis huruf.

Ini kode saya:

    Typeface myTypeface = Typeface.createFromAsset(getAssets(), "fonts/myFont.ttf");
    TextView myTextView = (TextView)findViewById(R.id.myTextView);
    myTextView.setTypeface(myTypeface);

Adakah yang bisa mengeluarkan saya dari masalah ini?

ULAR DERIK
sumber
1
Ada kesalahan dalam sintaksis Anda, seharusnyamyTextView.setTypeface(myTypeface);
yuttadhammo
Utas ini mirip dengan: stackoverflow.com/a/14558090/693752
Snicolas
Di sini Anda memiliki cara yang efisien untuk mengubah font untuk seluruh aplikasi: stackoverflow.com/questions/18847531/…
Diego Palomar

Jawaban:

230

Di Mobiletuts + ada tutorial yang sangat bagus tentang pemformatan teks untuk Android. Kiat Cepat: Sesuaikan Font Android

EDIT: Mengujinya sendiri sekarang. Ini solusinya. Anda dapat menggunakan subfolder yang disebut font tetapi harus masuk dalam assetsfolder, bukan resfolder. Begitu

aset / font

Juga pastikan bahwa font ending yang saya maksud akhir dari file font itu sendiri adalah huruf kecil semua. Dengan kata lain tidak seharusnya myFont.TTFtetapi myfont.ttf cara ini harus dalam huruf kecil

Oktavianus A. Damiean
sumber
Mengedit respons saya dengan solusinya sekarang.
Octavian A. Damiean
Bisakah Anda mengirimi saya beberapa proyek demo yang berfungsi? Saya sudah mencoba keduanya di folder assets / fonts / xyz.ttf dan assets / xyz.ttf tetapi tidak menggunakan font itu. Ini hanya menampilkan font default ..
RATTLESNAKE
2
Tentu di sini adalah tautan ke proyek zip. dl.dropbox.com/u/8288893/customFont.zip
Octavian A. Damiean
5
Jika Anda mengikuti tutorial itu, pastikan Anda menggunakan path Typeface.createFromAsset (getAssets (), "fonts / yourfont.ttf"); jika Anda telah memasukkannya ke dalam subdirektori font
Jameo
jangan sertakan "aset /" dalam nama file (karena createFromAssetfungsi langsung menunjuk ke dalam assetsdirektori)
topher
55

Setelah mencoba sebagian besar solusi yang dijelaskan dalam utas ini, saya tidak sengaja menemukan Kaligrafi ( https://github.com/chrisjenx/Calligraphy ) - perpustakaan oleh Christopher Jenkins yang memungkinkan Anda dengan mudah menambahkan font khusus ke aplikasi Anda. Keuntungan dari lib-nya dibandingkan dengan pendekatan yang disarankan di sini adalah:

  1. Anda tidak harus memperkenalkan komponen TextView utama Anda sendiri, Anda menggunakan TextView bawaan
  2. Anda dapat dengan mudah memasukkan perpustakaan menggunakan gradle
  3. Perpustakaan tidak membatasi font pilihan Anda; Anda cukup menambahkan yang Anda sukai ke dir aset
  4. Anda tidak hanya mendapatkan tampilan teks khusus - semua konten Android berbasis teks lainnya juga akan ditampilkan menggunakan font khusus Anda.
javaxian
sumber
1
berapa ukuran perpustakaan itu adalah pertanyaan penting, karena itu akan mempengaruhi ukuran aplikasi.
eRaisedToX
32

Saya tahu sudah ada jawaban yang bagus, tetapi ini adalah implementasi yang berfungsi penuh.

Berikut tampilan teks khusus:

package com.mycompany.myapp.widget;

/**
 * Text view with a custom font.
 * <p/>
 * In the XML, use something like {@code customAttrs:customFont="roboto-thin"}. The list of fonts
 * that are currently supported are defined in the enum {@link CustomFont}. Remember to also add
 * {@code xmlns:customAttrs="http://schemas.android.com/apk/res-auto"} in the header.
 */
public class CustomFontTextView extends TextView {

    private static final String sScheme =
            "http://schemas.android.com/apk/res-auto";
    private static final String sAttribute = "customFont";

    static enum CustomFont {
        ROBOTO_THIN("fonts/Roboto-Thin.ttf"),
        ROBOTO_LIGHT("fonts/Roboto-Light.ttf");

        private final String fileName;

        CustomFont(String fileName) {
            this.fileName = fileName;
        }

        static CustomFont fromString(String fontName) {
            return CustomFont.valueOf(fontName.toUpperCase(Locale.US));
        }

        public Typeface asTypeface(Context context) {
            return Typeface.createFromAsset(context.getAssets(), fileName);
        }
    }

    public CustomFontTextView(Context context, AttributeSet attrs) {
        super(context, attrs);

        if (isInEditMode()) {
            return;
        } else {
            final String fontName = attrs.getAttributeValue(sScheme, sAttribute);

            if (fontName == null) {
                throw new IllegalArgumentException("You must provide \"" + sAttribute + "\" for your text view");
            } else {
                final Typeface customTypeface = CustomFont.fromString(fontName).asTypeface(context);
                setTypeface(customTypeface);
            }
        }
    }
}

Inilah atribut khusus. Ini harus masuk ke res/attrs.xmlfile Anda :

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <declare-styleable name="CustomFontTextView">
        <attr name="customFont" format="string"/>
    </declare-styleable>
</resources>

Dan inilah cara Anda menggunakannya. Saya akan menggunakan tata letak relatif untuk membungkusnya dan menunjukkan customAttrdeklarasi, tetapi bisa jelas tata letak apa pun yang sudah Anda miliki.

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:customAttrs="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <com.mycompany.myapp.widget.CustomFontTextView
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="foobar"
         customAttrs:customFont="roboto_thin" />

</RelativeLayout>
espinchi
sumber
Apa yang dimaksud customAttrsdalam proyek saya?
Skynet
@ Skynet ini merujuk ke namespace yang didefinisikan dalam tampilan root Anda yang mana xmlns:customAttrs="http://schemas.android.com/apk/res-auto". Ini secara otomatis membuat atribut ditetapkan untuk tampilan khusus. Dalam hal ini Anda memiliki atribut yang disebut customFont yang didefinisikan di attrs.xml Cara yang lebih mudah untuk dipahami adalah dengan melihat di xmlns:android="http://schemas.android.com/apk/res/android"mana mendefinisikan namespace untuk atribut android Anda. Jadi, jika Anda mengubah bahwa untuk akemudian bukannya android:textitu akan a:text.
CodyEngel
14

Saya telah berhasil menggunakan ini sebelumnya. Satu-satunya perbedaan antara implementasi kami adalah bahwa saya tidak menggunakan subfolder dalam aset. Tidak yakin apakah itu akan mengubah apa pun.

benvd
sumber
13

Asalkan Anda meletakkan font di tempat yang tepat dan tidak ada kesalahan pada file font itu sendiri, kode Anda harus berfungsi seperti itu, RATTLESNAKE.

Namun, akan jauh lebih mudah jika Anda bisa mendefinisikan font di tata letak xml Anda, seperti ini:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >

    <!-- This text view is styled with the app theme -->
    <com.innovattic.font.FontTextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="This uses my font in bold italic style" />

    <!-- This text view is styled here and overrides the app theme -->
    <com.innovattic.font.FontTextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:flFont="anotherFont"
        android:textStyle="normal"
        android:text="This uses another font in normal style" />

    <!-- This text view is styled with a style and overrides the app theme -->
    <com.innovattic.font.FontTextView
        style="@style/StylishFont"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="This also uses another font in normal style" />

</LinearLayout>

Dengan disertai res/values/styles.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools">

    <!-- Application theme -->
    <!-- Use a different parent if you don't want Holo Light -->
    <style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar">
        <item name="android:textViewStyle">@style/MyTextViewStyle</item>
    </style>

    <!-- Style to use for ALL text views (including FontTextView) -->
    <!-- Use a different parent if you don't want Holo Light -->
    <style name="MyTextViewStyle" parent="@android:style/Widget.Holo.Light.TextView">
        <item name="android:textAppearance">@style/MyTextAppearance</item>
    </style>

    <!-- Text appearance to use for ALL text views (including FontTextView) -->
    <!-- Use a different parent if you don't want Holo Light -->
    <style name="MyTextAppearance" parent="@android:style/TextAppearance.Holo">
        <!-- Alternatively, reference this font with the name "aspergit" -->
        <!-- Note that only our own TextView's will use the font attribute -->
        <item name="flFont">someFont</item>
        <item name="android:textStyle">bold|italic</item>
    </style>

    <!-- Alternative style, maybe for some other widget -->
    <style name="StylishFont">
        <item name="flFont">anotherFont</item>
        <item name="android:textStyle">normal</item>
    </style>

</resources>

Saya membuat beberapa alat khusus untuk tujuan ini. Lihat proyek ini dari GitHub, atau lihat posting blog ini yang menjelaskan semuanya.

Jelle Fresen
sumber
13

Cara terbaik untuk melakukannya Dari rilis pratinjau Android O adalah dengan cara ini:

Ini berfungsi hanya jika Anda memiliki android studio-2.4 atau lebih tinggi

  1. Klik kanan folder res dan buka New> Android resource directory . Jendela New
    Resource Directory muncul.
  2. Di daftar tipe sumber daya, pilih font , dan lalu klik OK.
  3. Tambahkan file font Anda dalam font folder an folder struktur bawah menghasilkan R.font.dancing_script, R.font.la_ladan R.font.ba_ba.
  4. Klik dua kali file font untuk mempratinjau font file di editor.

Selanjutnya kita harus membuat keluarga font:

  1. Klik kanan folder font dan pergi ke New> File sumber daya font . Jendela File Sumber Daya Baru muncul.
  2. Masukkan Nama File, lalu klik OK . Sumber daya font baru XML terbuka di editor.
  3. Lampirkan setiap file font, style, dan atribut weight dalam elemen tag font. XML berikut ini mengilustrasikan penambahan atribut terkait font di XML sumber daya font:

Menambahkan font ke TextView:

   <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:fontFamily="@font/hey_fontfamily"/>

Seperti dari dokumentasi

Bekerja dengan Font

Semua langkah sudah benar.

Ya ampun s
sumber
4
ony api> 26 ((
maXp
Ini kehilangan langkah yang cukup besar # 3 ... Bagaimana Anda melakukannya?
Code Wiget
12

Untuk Font Kustom di android buat folder di dalam folder aset beri nama "font" tempatkan fonts.ttf atau .otf file yang Anda inginkan di dalamnya.

Jika Anda memperpanjang UIBaseFragment:

Typeface font = Typeface.createFromAsset(getActivity().getAssets(), "fonts/Arial.ttf");
        tv.setTypeface(font);

lain jika memperpanjang Activity:

Typeface font = Typeface.createFromAsset(getContext().getAssets(), "fonts/Arial.ttf");
        tv.setTypeface(font);
Faakhir
sumber
7

Anda dapat menggunakan PixlUI di https://github.com/neopixl/PixlUI

impor .jar mereka dan gunakan dalam XML

 <com.neopixl.pixlui.components.textview.TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/hello_world"
    pixlui:typeface="GearedSlab.ttf" />
guest2343sdfdfs
sumber
4

Karena saya tidak puas dengan semua solusi yang disajikan pada SO, saya datang dengan solusi saya. Ini didasarkan pada sedikit trik dengan tag (yaitu Anda tidak dapat menggunakan tag dalam kode Anda), saya meletakkan jalur font di sana. Jadi saat mendefinisikan tampilan, Anda dapat melakukan ini:

<TextView
        android:id="@+id/textViewHello1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World 1"
        android:tag="fonts/Oswald-Regular.ttf"/>

atau ini:

<TextView
        android:id="@+id/textViewHello2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World 2"
        style="@style/OswaldTextAppearance"/>

<style name="OswaldTextAppearance">
        <item name="android:tag">fonts/Oswald-Regular.ttf</item>
        <item name="android:textColor">#000000</item>
</style>

Sekarang Anda dapat mengakses / mengatur tampilan secara eksplisit sebagai:

TextView textView = TextViewHelper.setupTextView(this, R.id.textViewHello1).setText("blah");

atau hanya mengatur semuanya melalui:

TextViewHelper.setupTextViews(this, (ViewGroup) findViewById(R.id.parentLayout)); // parentLayout is the root view group (relative layout in my case)

Dan apa kelas sihir yang kamu tanyakan? Sebagian besar terpaku dari pos SO lainnya, dengan metode pembantu untuk aktivitas dan fragmen:

import android.app.Activity;
import android.content.Context;
import android.graphics.Typeface;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

import java.util.HashMap;
import java.util.Map;

public class TextViewHelper {
    private static final Map<String, Typeface> mFontCache = new HashMap<>();

    private static Typeface getTypeface(Context context, String fontPath) {
        Typeface typeface;
        if (mFontCache.containsKey(fontPath)) {
            typeface = mFontCache.get(fontPath);
        } else {
            typeface = Typeface.createFromAsset(context.getAssets(), fontPath);
            mFontCache.put(fontPath, typeface);
        }
        return typeface;
    }

    public static void setupTextViews(Context context, ViewGroup parent) {
        for (int i = parent.getChildCount() - 1; i >= 0; i--) {
            final View child = parent.getChildAt(i);
            if (child instanceof ViewGroup) {
                setupTextViews(context, (ViewGroup) child);
            } else {
                if (child != null) {
                    TextViewHelper.setupTextView(context, child);
                }
            }
        }
    }

    public static void setupTextView(Context context, View view) {
        if (view instanceof TextView) {
            if (view.getTag() != null) // also inherited from TextView's style
            {
                TextView textView = (TextView) view;
                String fontPath = (String) textView.getTag();
                Typeface typeface = getTypeface(context, fontPath);
                if (typeface != null) {
                    textView.setTypeface(typeface);
                }
            }
        }
    }

    public static TextView setupTextView(View rootView, int id) {
        TextView textView = (TextView) rootView.findViewById(id);
        setupTextView(rootView.getContext().getApplicationContext(), textView);
        return textView;
    }

    public static TextView setupTextView(Activity activity, int id) {
        TextView textView = (TextView) activity.findViewById(id);
        setupTextView(activity.getApplicationContext(), textView);
        return textView;
    }
}
Miro Kropacek
sumber
4

Sayangnya tidak ada solusi yang baik untuk ini.

Saya telah melihat banyak artikel tentang penggunaan TextView kustom tetapi mereka lupa bahwa itu bukan hanya tampilan teks yang dapat mengimplementasikan font & ada juga tampilan teks yang tersembunyi di tampilan lain yang tidak dapat diakses oleh pengembang; Saya bahkan tidak akan memulai Spannable .

Anda dapat menggunakan utilitas font eksternal seperti:

Alat Font Kaligrafi

TETAPI ini melingkupi setiap tampilan dalam aplikasi pada pembuatannya dan bahkan utilitas ini melewatkan beberapa tampilan (ViewPager membuat font normal) maka Anda memiliki masalah ketika Google memperbarui alat build mereka, ini terkadang akan macet karena perlu menargetkan properti yang sudah usang. Ini juga agak lambat karena menggunakan Java's Reflection .

Terserah Google untuk memperbaikinya. Kami membutuhkan dukungan font yang lebih baik di Android. Jika Anda melihat solusi dari iOS, mereka benar-benar memiliki 100-an font bawaan untuk dipilih. Ingin font khusus? Cukup masukkan TFF dan itu bisa digunakan ..

Untuk saat ini sekarang terbatas pada penawaran yang Google tawarkan kepada kami yang sangat terbatas tetapi untungnya dioptimalkan untuk seluler.

Oliver Dixon
sumber
2

Pastikan untuk menempelkan kode di atas ke onCreate () setelah panggilan Anda ke super dan panggilan ke setContentView (). Perincian kecil ini membuat saya menutup telepon untuk sementara waktu.

Jaxon
sumber
2

Dengan Android 8.0 menggunakan Custom Fonts in Application menjadi mudah downloadable fonts. Kami dapat menambahkan font langsung ke res/font/ folderdalam folder proyek, dan dengan melakukannya, font menjadi tersedia secara otomatis di Android Studio.

Folder Di bawah res dengan font nama dan ketik set ke Font

Sekarang atur fontFamilyatribut ke daftar font atau klik lebih banyak dan pilih font pilihan Anda. Ini akan menambahkan tools:fontFamily="@font/your_font_file"baris ke TextView Anda.

Ini secara otomatis akan menghasilkan beberapa file.

1. Dalam folder nilai yang akan dibuatnya fonts_certs.xml.

2. Di Manifest itu akan menambahkan baris ini:

  <meta-data
            android:name="preloaded_fonts"
            android:resource="@array/preloaded_fonts" /> 

3. preloaded_fonts.xml

<resources>
    <array name="preloaded_fonts" translatable="false">
        <item>@font/open_sans_regular</item>
        <item>@font/open_sans_semibold</item>
    </array>
</resources>
Dipali s.
sumber
2

Anda dapat menggunakan perpustakaan pihak ketiga EasyFonts yang mudah & sederhana untuk mengatur berbagai font khusus untuk Anda TextView. Dengan menggunakan perpustakaan ini Anda tidak perlu khawatir mengunduh dan menambahkan font ke folder aset / font. Juga tentang pembuatan objek Typeface.

Dari pada

Typeface myTypeface = Typeface.createFromAsset(getAssets(), "fonts/myFont.ttf");
TextView myTextView = (TextView)findViewById(R.id.myTextView);
myTextView.setTypeface(myTypeface);

Secara sederhana:

TextView myTextView = (TextView)findViewById(R.id.myTextView);
myTextView.setTypeface(EasyFonts.robotoThin(this));

Perpustakaan ini juga menyediakan font berikut.

  • Roboto
  • Serif Droid
  • Robot Droid
  • Kebebasan
  • Raiser yang Menyenangkan
  • Android Nation
  • Alpukat Hijau
  • Pengakuan
Vijay Vankhede
sumber
1

Saya memiliki masalah yang sama, TTF tidak muncul. Saya mengubah file font, dan dengan kode yang sama berfungsi.

Roozbeh Zabihollahi
sumber
1

Jika Anda ingin memuat font dari jaringan atau membuatnya dengan mudah, Anda dapat menggunakan:

https://github.com/shellum/fontView

Contoh:

<!--Layout-->
<com.finalhack.fontview.FontView
        android:id="@+id/someFontIcon"
        android:layout_width="80dp"
        android:layout_height="80dp" />

//Java:
fontView.setupFont("http://blah.com/myfont.ttf", true, character, FontView.ImageType.CIRCLE);
fontView.addForegroundColor(Color.RED);
fontView.addBackgroundColor(Color.WHITE);
Shellum
sumber
1

Nah, setelah tujuh tahun Anda dapat mengubah seluruh aplikasi textViewatau apa yang Anda inginkan dengan mudah dengan menggunakan android.supportperpustakaan 26 ++.

Misalnya:

Buat aplikasi paket font Anda / src / res / font dan pindahkan font Anda ke dalamnya.

masukkan deskripsi gambar di sini

Dan dalam tema aplikasi Anda tambahkan saja sebagai fontFamily:

    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
   . . . ...
    <item name="android:fontFamily">@font/demo</item>
</style>

Contoh untuk digunakan textViewhanya dengan :

<style name="fontTextView" parent="@android:style/Widget.TextView">
    <item name="android:fontFamily">monospace</item>
</style>

Dan tambahkan ke tema utama Anda:

<item name="android:textViewStyle">@style/fontTextView</item>

Saat ini bekerja pada 8.1 hingga 4.1 API Jelly Bean Dan itu beragam.


sumber
1

Jawaban pembaruan: Android 8.0 (API level 26) memperkenalkan fitur baru, Fonts dalam XML. cukup gunakan fitur Fonts in XML pada perangkat yang menjalankan Android 4.1 (API level 16) dan lebih tinggi, gunakan Support Library 26.

lihat tautan ini


Jawaban lama

Ada dua cara untuk menyesuaikan font:

!!! font khusus saya di aset / fonts / iran_sans.ttf



Cara 1: Refreksi Typeface.class ||| Cara terbaik

panggil FontsOverride.setDefaultFont () di kelas memperluas Aplikasi, Kode ini akan menyebabkan semua font perangkat lunak diubah, bahkan font Toasts

AppController.java

public class AppController extends Application {

    @Override
    public void onCreate() {
        super.onCreate();

        //Initial Font
        FontsOverride.setDefaultFont(getApplicationContext(), "MONOSPACE", "fonts/iran_sans.ttf");

    }
}

FontsOverride.java

public class FontsOverride {

    public static void setDefaultFont(Context context, String staticTypefaceFieldName, String fontAssetName) {
        final Typeface regular = Typeface.createFromAsset(context.getAssets(), fontAssetName);
        replaceFont(staticTypefaceFieldName, regular);
    }

    private static void replaceFont(String staticTypefaceFieldName, final Typeface newTypeface) {
        try {
            final Field staticField = Typeface.class.getDeclaredField(staticTypefaceFieldName);
            staticField.setAccessible(true);
            staticField.set(null, newTypeface);
        } catch (NoSuchFieldException e) {
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        }
    }
}



Cara 2: gunakan setTypeface

untuk tampilan khusus panggil saja setTypeface () untuk mengubah font.

CTextView.java

public class CTextView extends TextView {

    public CTextView(Context context) {
        super(context);
        init(context,null);
    }

    public CTextView(Context context, @Nullable AttributeSet attrs) {
        super(context, attrs);
        init(context,attrs);
    }

    public CTextView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        init(context,attrs);
    }

    @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
    public CTextView(Context context, @Nullable AttributeSet attrs, int defStyleAttr, int defStyleRes) {
        super(context, attrs, defStyleAttr, defStyleRes);
        init(context,attrs);
    }

    public void init(Context context, @Nullable AttributeSet attrs) {

        if (isInEditMode())
            return;

        // use setTypeface for change font this view
        setTypeface(FontUtils.getTypeface("fonts/iran_sans.ttf"));

    }
}

FontUtils.java

public class FontUtils {

    private static Hashtable<String, Typeface> fontCache = new Hashtable<>();

    public static Typeface getTypeface(String fontName) {
        Typeface tf = fontCache.get(fontName);
        if (tf == null) {
            try {
                tf = Typeface.createFromAsset(AppController.getInstance().getApplicationContext().getAssets(), fontName);
            } catch (Exception e) {
                e.printStackTrace();
                return null;
            }
            fontCache.put(fontName, tf);
        }
        return tf;
    }

}
Rasoul Miri
sumber
0
  • Buka proyek Anda dan pilih Project di kiri atas
  • app -> src -> main
  • klik kanan ke utama dan buat nama direktori sebagai aset
  • klik kanan untuk menegaskan dan membuat nama direktori baru itu font
  • Anda perlu menemukan font gratis seperti font gratis
  • berikan ke Textview Anda dan panggil di kelas Activity Anda
  • salin font Anda di dalam folder font
  • TextView txt = (TextView) findViewById(R.id.txt_act_spalsh_welcome); Typeface font = Typeface.createFromAsset(getAssets(), "fonts/Aramis Italic.ttf"); txt.setTypeface(font);

nama font harus benar dan bersenang-senang

Sam
sumber
0

Ya, font yang dapat diunduh sangat mudah, seperti yang dikatakan Dipali .

Ini adalah bagaimana kamu melakukannya ...

  1. Tempat a TextView.
  2. Di panel properti, pilih fontFamilydropdown. Jika tidak ada di sana, temukan tanda sisipan (>> dan klik untuk membentangkannya textAppearance) di bawah.
  3. Perluas font-familydrop down.
  4. Dalam daftar kecil, gulirkan seluruhnya ke bawah sampai Anda melihat more fonts
  5. Ini akan membuka kotak dialog tempat Anda dapat mencari Google Fonts
  6. Cari font yang Anda suka dengan bilah pencarian di bagian atas
  7. Pilih font Anda.
  8. Pilih gaya font yang Anda suka (yaitu tebal, normal, miring, dll)
  9. Di panel kanan, pilih tombol radio yang mengatakan Add font to project
  10. Klik oke. Sekarang TextView Anda memiliki font yang Anda suka!

BONUS: Jika Anda ingin gaya SEMUA dengan teks dalam aplikasi Anda dengan font yang dipilih, cukup tambahkan <item name="android:fontfamily">@font/fontnamehere</item>ke dalamstyles.xml

flash76
sumber
Anda harus menghargai jawaban saya daripada! :)
Dipali s.