Nilai yang Valid untuk android:fontFamily dan apa yang mereka peta untuk?
Dalam jawaban pertanyaan pengguna daftar nilai untuk android:fontFamily
dan 12 varian (lihat di bawah). Di mana nilai-nilai ini berasal? Dokumentasi untuk android:fontFamily
tidak mencantumkan informasi ini di setiap tempat (saya diperiksa di sini, dan di sini). String yang tercantum di Android styles.xml file di berbagai tempat, tapi bagaimana ini peta kembali ke Roboto font?
Dari android 4.1 / 4.2, berikut Roboto font keluarga tersedia:
android:fontFamily="sans-serif" // roboto regular android:fontFamily="sans-serif-cahaya" // roboto cahaya android:fontFamily="sans-serif condensed" // roboto condensed android:fontFamily="sans-serif-tipis" // roboto tipis (android 4.2) android:fontFamily="sans-serif-menengah" // roboto medium (android 5.0)
dalam kombinasi dengan ini
android:textStyle="normal|bold|italic"
12 varian yang mungkin:
- Regular
- Italic
- Berani
- Bold-italic
- Cahaya
- Cahaya-italic
- Tipis
- Tipis-italic
- Kental reguler
- Kental italic
- Condensed bold
- Condensed bold-italic
Dalam styles.xml
file dalam aplikasi I'm bekerja pada seseorang yang terdaftar sebagai keluarga font, dan I'm cukup yakin itu's salah:
<nama barang="android:fontFamily">Roboto-Regular.ttf</item>
I'd untuk mendapatkan tema untuk aplikasi kami atur dengan benar (termasuk menggunakan fontFamily dengan benar) dan menghapus semua redundansi yang dalam beberapa gaya yang dibuat sebelum saya telah melihat file.
Ini memang tidak tercantum dalam dokumentasi. Tapi mereka disebutkan di sini di bawah bagian 'Font keluarga'. Daftar dokumen baru setiap API publik untuk Android Jelly Bean 4.1.
Ya, itu's salah. Anda don't referensi file font, anda harus menggunakan jenis huruf nama yang disebutkan dalam dokumen terkait di atas. Dalam hal ini seharusnya ini:
Seperti terkait jawaban sudah menyatakan, 12 varian yang mungkin:
Ditambahkan dalam Android Jelly Bean (4.1) - API 16 :
Reguler (default):
Italic:
Tebal:
Bold-italic:
Cahaya:
Cahaya-italic:
Tipis :
Tipis-italic :
Kental reguler:
Kental italic:
Condensed bold:
Condensed bold-italic:
Ditambahkan dalam Android Lollipop (v5.0) - API 21 :
Sedang:
Medium italic:
Hitam:
Untuk referensi cepat, ini adalah bagaimana mereka semua terlihat seperti:
Font yang tersedia (seperti Oreo)
The Material Desain Tipografi halaman demo untuk beberapa font ini dan saran-saran dalam memilih font dan gaya.
Untuk kode detektif:
fonts.xml
adalah definitif dan terus memperluas daftar Android font.Menggunakan font ini
Mengatur
android:fontFamily
danandroid:textStyle
atribut, misalnyauntuk nilai-nilai yang diinginkan dari tabel ini:
(Noto Sans font fallback; anda dapat't menentukan secara langsung)
Note: tabel ini berasal dari
fonts.xml
. Masing-masing jenis huruf's nama keluarga dan gaya tercantum dalam fonts.xml, misalnyaserif-monospace
dengan demikian adalah font keluarga, dannormal
adalah gaya.Kompatibilitas
Berdasarkan log fonts.xml dan mantan system_fonts.xml, yang dapat anda lihat ketika setiap huruf telah ditambahkan:
Sejauh yang saya'm sadar, anda bisa't menyatakan font kustom dalam xml atau tema. Saya biasanya hanya membuat kustom kelas memperpanjang textview yang mengatur sendiri jenis huruf pada instansiasi dan menggunakan mereka dalam tata letak file xml.
yaitu:
dan