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?
android
custom-font
android-fonts
android-typeface
ULAR DERIK
sumber
sumber
myTextView.setTypeface(myTypeface);
Jawaban:
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
assets
folder, bukanres
folder. BegituJuga pastikan bahwa font ending yang saya maksud akhir dari file font itu sendiri adalah huruf kecil semua. Dengan kata lain tidak seharusnya
myFont.TTF
tetapimyfont.ttf
cara ini harus dalam huruf kecilsumber
createFromAsset
fungsi langsung menunjuk ke dalamassets
direktori)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:
sumber
Saya tahu sudah ada jawaban yang bagus, tetapi ini adalah implementasi yang berfungsi penuh.
Berikut tampilan teks khusus:
Inilah atribut khusus. Ini harus masuk ke
res/attrs.xml
file Anda :Dan inilah cara Anda menggunakannya. Saya akan menggunakan tata letak relatif untuk membungkusnya dan menunjukkan
customAttr
deklarasi, tetapi bisa jelas tata letak apa pun yang sudah Anda miliki.sumber
customAttrs
dalam proyek saya?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 dixmlns:android="http://schemas.android.com/apk/res/android"
mana mendefinisikan namespace untuk atribut android Anda. Jadi, jika Anda mengubah bahwa untuka
kemudian bukannyaandroid:text
itu akana:text
.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.
sumber
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:
Dengan disertai
res/values/styles.xml
:Saya membuat beberapa alat khusus untuk tujuan ini. Lihat proyek ini dari GitHub, atau lihat posting blog ini yang menjelaskan semuanya.
sumber
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
Resource Directory muncul.
R.font.dancing_script
,R.font.la_la
danR.font.ba_ba
.Selanjutnya kita harus membuat keluarga font:
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:
Seperti dari dokumentasi
Semua langkah sudah benar.
sumber
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:
lain jika memperpanjang Activity:
sumber
Anda dapat menggunakan PixlUI di https://github.com/neopixl/PixlUI
impor .jar mereka dan gunakan dalam XML
sumber
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:
atau ini:
Sekarang Anda dapat mengakses / mengatur tampilan secara eksplisit sebagai:
atau hanya mengatur semuanya melalui:
Dan apa kelas sihir yang kamu tanyakan? Sebagian besar terpaku dari pos SO lainnya, dengan metode pembantu untuk aktivitas dan fragmen:
sumber
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.
sumber
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.
sumber
Dengan Android 8.0 menggunakan Custom Fonts in Application menjadi mudah
downloadable fonts
. Kami dapat menambahkan font langsung keres/font/ folder
dalam folder proyek, dan dengan melakukannya, font menjadi tersedia secara otomatis di Android Studio.Sekarang atur
fontFamily
atribut ke daftar font atau klik lebih banyak dan pilih font pilihan Anda. Ini akan menambahkantools: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:
3.
preloaded_fonts.xml
sumber
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
Secara sederhana:
Perpustakaan ini juga menyediakan font berikut.
sumber
Saya memiliki masalah yang sama, TTF tidak muncul. Saya mengubah file font, dan dengan kode yang sama berfungsi.
sumber
Jika Anda ingin memuat font dari jaringan atau membuatnya dengan mudah, Anda dapat menggunakan:
https://github.com/shellum/fontView
Contoh:
sumber
Nah, setelah tujuh tahun Anda dapat mengubah seluruh aplikasi
textView
atau apa yang Anda inginkan dengan mudah dengan menggunakanandroid.support
perpustakaan 26 ++.Misalnya:
Buat aplikasi paket font Anda / src / res / font dan pindahkan font Anda ke dalamnya.
Dan dalam tema aplikasi Anda tambahkan saja sebagai fontFamily:
Contoh untuk digunakan
textView
hanya dengan :Dan tambahkan ke tema utama Anda:
Saat ini bekerja pada 8.1 hingga 4.1 API Jelly Bean Dan itu beragam.
sumber
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:
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
FontsOverride.java
Cara 2: gunakan setTypeface
untuk tampilan khusus panggil saja setTypeface () untuk mengubah font.
CTextView.java
FontUtils.java
sumber
Cara yang benar untuk melakukan ini pada API 26 dijelaskan dalam dokumentasi resmi di sini:
https://developer.android.com/guide/topics/ui/look-and-feel/fonts-in-xml.html
Ini melibatkan menempatkan file ttf di folder res / font dan membuat file font-family.
sumber
Solusi Android paling sederhana yang didukung sekarang!
Gunakan font khusus dalam xml:
lihat detail:
https://developer.android.com/guide/topics/ui/look-and-feel/fonts-in-xml.html
sumber
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
sumber
Ya, font yang dapat diunduh sangat mudah, seperti yang dikatakan Dipali .
Ini adalah bagaimana kamu melakukannya ...
TextView
.fontFamily
dropdown. Jika tidak ada di sana, temukan tanda sisipan (>> dan klik untuk membentangkannyatextAppearance
) di bawah.font-family
drop down.more fonts
Google Fonts
Add font to project
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
sumber