ems, trái với niềm tin phổ biến (hoặc ít nhất là từ hầu hết các chủ đề về ems ở đây), không dựa trên chiều rộng của một chữ 'M'.
Ban đầu nó giống như vậy trong kiểu chữ, nhưng trong phương tiện kỹ thuật số, bao gồm cả Android, ý nghĩa của nó đã được chuyển sang kích thước của kiểu chữ được sử dụng, hay nói cách khác là chiều cao của nó (không bao gồm bất kỳ phần đệm nào cho dấu / dấu).
Vì vậy, điều đó có nghĩa là khi bạn chỉ định emscho TextView, nó sẽ sử dụng nó textSizelàm cơ sở và nhân nó với giá trị đã emschỉ định.
Ví dụ: nếu bạn đặt TextView 16sp emsthành 4, chiều rộng của nó sẽ rộng 64sp. Bạn có thể dễ dàng kiểm tra nó bằng cách sử dụng hai TextView ( includeFontPaddingđược đặt thành false) cạnh nhau bên trong ConstraintLayout (để tận dụng nó layout_constraintDimensionRatio).
sp.