ems
, bertentangan dengan kepercayaan populer (atau setidaknya dari sebagian besar utas tentang ems di sini), tidak didasarkan dari lebar satu 'M'.
Semula seperti itu pada tipografi, namun pada media digital termasuk android maknanya bergeser ke ukuran jenis huruf yang digunakan, atau dengan kata lain tingginya (tidak termasuk padding untuk aksen / diakritik).
Jadi itu berarti ketika Anda menentukan ems
untuk TextView, itu akan digunakan textSize
sebagai basis dan mengalikannya dengan yang ems
ditentukan.
Sebagai contoh, jika Anda menyetel TextView 16sp ems
ke 4, lebarnya akan menjadi 64sp. Anda dapat dengan mudah mengujinya dengan menggunakan dua TextView (dengan includeFontPadding
set ke false) secara berdampingan di dalam ConstraintLayout (untuk memanfaatkannya layout_constraintDimensionRatio
).
sp
.