Dalam jawaban untuk pertanyaan ini , pengguna mencantumkan nilai android:fontFamily
dan 12 varian (lihat di bawah). Dari mana nilai-nilai ini berasal? Dokumentasi untuk android:fontFamily
tidak mencantumkan informasi ini di sembarang tempat (saya periksa di sini , dan di sini ). String terdaftar dalam file Android styles.xml di berbagai tempat, tetapi bagaimana cara memetakan ini kembali ke font Roboto?
Dari android 4.1 / 4.2, keluarga font Roboto berikut tersedia:
android:fontFamily="sans-serif" // roboto regular android:fontFamily="sans-serif-light" // roboto light android:fontFamily="sans-serif-condensed" // roboto condensed android:fontFamily="sans-serif-thin" // roboto thin (android 4.2) android:fontFamily="sans-serif-medium" // roboto medium (android 5.0)
dalam kombinasi dengan ini
android:textStyle="normal|bold|italic"
12 varian dimungkinkan:
- Reguler
- Miring
- Mencolok
- Tebal miring
- Cahaya
- Ringan-miring
- Tipis
- Tipis-miring
- Terkondensasi biasa
- Cetak miring italic
- Kental tebal
- Kental tebal-miring
Dalam styles.xml
file dalam aplikasi saya sedang mengerjakan seseorang yang mencantumkan ini sebagai font family, dan saya cukup yakin itu salah:
<item name="android:fontFamily">Roboto-Regular.ttf</item>
Saya ingin mengatur tema untuk aplikasi kami dengan benar (yang termasuk menggunakan fontFamily dengan benar) dan menghapus semua redundansi yang ada dalam beberapa gaya yang dibuat sebelum saya melihat file.
Font yang tersedia (per Oreo)
The Material Desain Tipografi halaman memiliki demo untuk beberapa font ini dan saran tentang memilih font dan gaya.
Untuk kode sleuth:
fonts.xml
adalah daftar font Android yang definitif dan terus berkembang.Menggunakan font-font ini
Tetapkan
android:fontFamily
danandroid:textStyle
atribut, misalnyake nilai yang diinginkan dari tabel ini:
(Noto Sans adalah font fallback; Anda tidak dapat menentukannya secara langsung)
Catatan: tabel ini berasal dari
fonts.xml
. Setiap nama dan gaya keluarga font tercantum dalam fonts.xml, misserif-monospace
dengan demikian keluarga font, dannormal
gaya.Kesesuaian
Berdasarkan log fonts.xml dan system_fonts.xml sebelumnya , Anda dapat melihat kapan setiap font ditambahkan:
sumber
Sejauh yang saya ketahui, Anda tidak dapat mendeklarasikan font khusus dalam xml atau tema. Saya biasanya hanya membuat kelas khusus memperluas tampilan teks yang mengatur font mereka sendiri di instantiation dan menggunakannya di file layout xml saya.
yaitu:
dan
sumber