2011-08-13 25 views
242

Ems(與TextView相關)的含義是什麼?例如,在Ems是什麼意思? (Android TextView)

android:ems  setEms(int) 

使TextView的是正是這一點很多EMS寬。

+2

http://en.wikipedia.org/wiki/Em_(typography) – arunkumar

+1

無論如何,在問這裏之前,看看谷歌是很好的:如果你輸入「ems android」,答案就是最高結果。 –

+0

是的我搜索了一些條款沒有使用「安卓」關鍵字,感謝所有您的答案 – Addev

回答

334

android:emssetEms(n)設置TextView的寬度以適合n'M'字母的文本,而不管實際的文本擴展名和文本大小如何。請參閱wikipedia Em unit

但只有當layout_width設置爲"wrap_content"時。其他layout_width值覆蓋ems寬度設置。

添加android:textSize屬性確定視圖的物理寬度爲上面設置的n'M的文本的textSize *長度。

+15

爲什麼我的EditText可以有17個「M」字母,即使我將它設置爲10ems?我在一個水平的LinearLayout中有三個EditText,並且它們全部設置爲「wrap_content」 – stefan

+0

set minEms和maxEms –

+0

爲什麼需要ems? – 2017-03-24 18:41:00

57

EMS是凸版印刷術語,它控制文本大小等檢查here

+4

它*文字大小與其他事物的大小有關。 – EJP

22

它是給定英文字體大小的字母M的寬度。 所以2em是給定字體中字母M寬度的兩倍。 字體與英文不同,它是此字體中最寬的字母的寬度,此寬度是以像素爲單位的不同大小,然後是英文字體M中的寬度大小,但它仍爲1em。 因此,如果我使用12sp英文字體的文本1em是相對於此12sp英文字體,使用意大利字體與12sp給1em是不同的像素寬度然後英文的。

-4

TextView的EMS意思

在TextView中有一個名爲Android的屬性:EMS。說明 是「讓TextView的是正是這一點很多EMS寬」

注:但只有當layout_width設置爲「WRAP_CONTENT」。其他layout_width值覆蓋ems寬度設置。

+2

這一直是我見過的最無用的答案。 – hasen

5

em是字體寬度的排版單位。 16點字體中的一個是16點

0

em基本上是字體大小的CSS屬性。

em和ex單位取決於字體,並且可能對文檔中的每個 元素都不相同。 em只是字體大小。在使用2in字體的元素 中,1em意味着2in。在em中表示大小(例如邊距 和填充)意味着它們與字體大小相關,並且如果用戶在手持設備上具有大字體(例如,在大屏幕上)或小字體(例如, ),尺寸將成比例。聲明 如text-indent:1.5em和margin:1em在 CSS中非常常見。

來源:https://www.w3.org/Style/Examples/007/units

0

EMS是測量

EM原是參照大寫M的寬度名稱的單元。它將TextView/EditText的寬度設置爲適合n'M'字母的文本,而不管實際的文本擴展名和文本大小。

如:

android:ems使EditText上是完全這麼多的EMS寬。

<EditText 
    android:ems="2" 
/> 

表示創建字母M寬度的兩倍。