Add*_*dev 289 android textview
Ems是什么意思(与TextView相关)?例如在
android:ems setEms(int)
Run Code Online (Sandbox Code Playgroud)
使TextView正好是这么多的ems.
Gab*_*iba 382
android:ems或者setEms(n)设置TextView的宽度以适合n'M'字母的文本,而不管实际的文本扩展名和文本大小.见维基百科Em单位
但只有当layout_width设置为"wrap_content".其他layout_width值会覆盖ems宽度设置.
添加android:textSize属性将视图的物理宽度确定为上面设置的n'M文本的textSize*长度.
小智 25
它是给定英文字体大小的字母M的宽度.
所以2em是这个给定字体中字母M宽度的两倍.
对于非英文字体,它是该字体中最宽字母的宽度.这个宽度大小(以像素为单位)与英文字体中M的宽度大小不同,但仍然是1em.
因此,如果我使用英文字体的12sp文本,1em相对于这个12sp英文字体; 使用12sp的意大利字体给出1em,其像素宽度与英文宽度不同.
小智 5
ems是计量单位
em 一词最初是指大写字母 M的宽度。它设置 TextView/EditText 的宽度以适合 n 个“M”字母的文本,而不管实际的文本扩展名和文本大小。
例如:
android:ems使 EditText 正好有这么多 em 宽。
<EditText
android:ems="2"
/>
Run Code Online (Sandbox Code Playgroud)
表示创建的字母 M 宽度的两倍。
小智 5
虽然其他答案已经解决了这个问题(毕竟这是一个 3 年前的问题),但我只是要添加一些信息,并且可能修复了一些误解。
Em,虽然最初是指排版中单个“M”字符宽度的术语,但在数字媒体中,它已转换为相对于字体点大小(字体大小或文本大小)的单位,换句话说,它使用文本的高度,而不是单个“M”的宽度。
在 Android 中,这意味着当您指定 TextView 的 em 时,它使用所述 TextView 的 textSize 作为基础,不包括为重音/变音符号添加的填充。当您将 16sp TextView 的 em 设置为 4 时,这意味着它的宽度将为 64sp 宽,因此解释了@stefan 关于为什么 10 em 宽 EditText 能够容纳 17 'M' 的评论。
| 归档时间: |
|
| 查看次数: |
234566 次 |
| 最近记录: |