Ems是什么意思?(Android TextView)


304

Ems(与TextView相关)是什么意思?例如在

android:ems     setEms(int)

使TextView精确到这么多em宽度。



1
无论如何,在问到这里之前先看看google是一件好事:如果您输入“ ems android”,答案就在最上面。
亚历克西斯·梅塔洛(AlexisMétaireau)2011年

是的,我搜索了一些不使用“ android”关键字的字词,谢谢大家的回答
Addev 2011年

Answers:


394

android:emssetEms(n)设置TextView的宽度以适合n个“ M”个字母的文本,而不考虑实际的文本扩展名和文本大小。参见维基百科Em单位

但仅当将layout_width设置为时"wrap_content"。其他layout_width值将覆盖ems宽度设置。

添加android:textSize属性将确定视图的物理宽度为textSize *上面设置的n个'M'的文本的长度。


25
为什么即使将EditText设置为10em,我的EditText仍可以有17个“ M”字母?我在水平LinearLayout中有三个EditText,并将它们全部设置为“ wrap_content”
stefan

设置最小和最大
Bincy Baby


29

它是给定英语字体大小中字母M的宽度。
因此2em是该给定字体中字母M宽度的两倍。
对于非英语字体,它是该字体中最宽字母的宽度。以像素为单位的宽度大小与英语字体中M的宽度大小不同,但仍为1em
因此,如果我使用英文字体为12sp的文本,则1em相对于该12sp英文字体;使用带12sp的意大利语字体可以得到1em,其像素宽度与英语字体不同


6

em是字体宽度的印刷单位。16点字体中的1 em是16点


3

ems是度量单位

名称em最初是大写字母M 的宽度引用。它设置TextView / EditText的宽度以适合n个“ M”个字母的文本,而不管实际的文本扩展名和文本大小如何。

例如:

android:ems 使EditText精确到这么多em宽度。

<EditText
    android:ems="2"
/>

表示创建字母M的宽度的两倍。


0

em 基本上是字体大小的CSS属性。

em和ex单位取决于字体,并且对于文档中的每个元素可能有所不同。em只是字体大小。在2in字体的元素中,1em表示2in。表达大小(例如边距和填充),以em表示它们与字体大小有关,如果用户使用大字体(例如,在大屏幕上)或小字体(例如,在手持设备上),则大小将成比例。在CSS中,诸如text-indent:1.5em和margin:1em之类的声明非常普遍。

资料来源:https : //www.w3.org/Style/Examples/007/units

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.