Co oznacza Ems? (Android TextView)

304

Co należy rozumieć przez Ems (związany z TextView)? Na przykład w

android:ems     setEms(int)

Sprawia, że ​​TextView ma dokładnie taką szerokość.

Addev
źródło
1
Tak czy inaczej, dobrze jest rzucić okiem na google przed pytaniem tutaj: odpowiedź jest na najlepszych wynikach, jeśli wpiszesz „ems android”.
Alexis Métaireau,
Tak, szukałem niektórych haseł, nie
używałem

Odpowiedzi:

394

android:emslub setEms(n)ustawia szerokość TextView, aby pasowała do tekstu z literami n 'M', niezależnie od faktycznego rozszerzenia i rozmiaru tekstu. Zobacz wikipedia Em Unit

ale tylko wtedy, gdy layout_widthjest ustawiony na "wrap_content". Inne layout_widthwartości zastępują ustawienie szerokości ems.

Dodanie android:textSizeatrybutu określa fizyczną szerokość widoku do textSize * długości tekstu zestawu n 'M ustawionego powyżej.

Gabriel Riba
źródło
25
Dlaczego mój EditText może mieć 17 liter „M”, mimo że ustawiłem go na 10 elementów? Mam trzy EditText w poziomym LinearLayout i wszystkie z nich ustawiony na „wrap_content”
stefan
ustaw minEms i maxEms
Bincy Baby
58

Ems jest terminem typograficznym, kontroluje rozmiar tekstu itp. Sprawdź tutaj

Jim
źródło
6
To dotyczy rozmiaru tekstu do wielkości innych rzeczy.
Markiz Lorne
29

Jest to szerokość litery M w danym rozmiarze czcionki angielskiej.
Tak więc 2em jest dwukrotnością szerokości litery M w tej czcionce.
W przypadku czcionki innej niż angielska jest to szerokość najszerszej litery w tej czcionce. Ten rozmiar szerokości w pikselach jest inny niż rozmiar M czcionki angielskiej, ale nadal wynosi 1em .
Więc jeśli użyję tekstu z czcionką 12sp w czcionce angielskiej, 1em jest względny w stosunku do tej czcionki 12sp; użycie włoskiej czcionki z 12sp daje 1em, który ma inną szerokość w pikselach niż angielski.

Yaron Ronen
źródło
6

em jest jednostką typografii szerokości czcionki. jeden em w kroju 16-punktowym to 16 punktów

NaveenDA
źródło
3

ems to jednostka miary

Nazwa em był pierwotnie odniesienie do szerokości części kapitałowej M . Ustawia szerokość TextView / EditText, aby pasował do tekstu z literami n 'M', niezależnie od faktycznego rozszerzenia i rozmiaru tekstu.

Np .:

android:ems Sprawia, że ​​EditText ma dokładnie tyle szerokości ems.

<EditText
    android:ems="2"
/>

oznacza dwukrotność szerokości litery M.

Preetish Priyadarshi Samal
źródło
0

em jest w zasadzie właściwością CSS dla rozmiarów czcionek.

Jednostki em i ex zależą od czcionki i mogą być różne dla każdego elementu w dokumencie. Em to po prostu rozmiar czcionki. W elemencie z czcionką 2 cale 1em oznacza zatem 2 cale. Wyrażanie rozmiarów, takich jak marginesy i wypełnienia, oznacza, że ​​są one związane z rozmiarem czcionki, a jeśli użytkownik ma dużą czcionkę (np. Na dużym ekranie) lub małą czcionkę (np. Na urządzeniu przenośnym), rozmiary będą proporcjonalne. Deklaracje takie jak wcięcie tekstu: 1.5em i margines: 1em są niezwykle powszechne w CSS.

Źródło: https://www.w3.org/Style/Examples/007/units

Rehan Sarwar
źródło