Cosa si intende per Ems? (Android TextView)


304

Cosa si intende per Ems (correlato a un TextView)? Ad esempio in

android:ems     setEms(int)

Rende TextView esattamente così ampio.



1
Comunque, va bene dare un'occhiata a google prima di chiedere qui: la risposta è nei migliori risultati se si immette "ems android".
Alexis Métaireau,

Sì, ho cercato alcuni termini e non ho usato la parola chiave "android", grazie a tutti per le risposte
Addev

Risposte:


394

android:emsoppure setEms(n)imposta la larghezza di un oggetto TextView per adattarlo a un testo di n 'M' lettere indipendentemente dall'estensione del testo e dalle dimensioni del testo. Vedi unità Em di Wikipedia

ma solo quando layout_widthè impostato su "wrap_content". Altri layout_widthvalori sovrascrivono l'impostazione della larghezza di ems.

L'aggiunta di un android:textSizeattributo determina la larghezza fisica della vista alla lunghezza TextSize * di un testo di n 'M impostato sopra.


25
Perché il mio EditText può contenere 17 lettere "M" anche se l'ho impostato su 10ems? Ho tre EditText in un LinearLayout orizzontale e tutti impostati su "wrap_content"
stefan

set minEms e maxEms
Bincy Baby

58

Ems è un termine tipografico, controlla le dimensioni del testo, ecc. Controlla qui


6
Si riferisce dimensioni del testo per le dimensioni di altre cose.
Marchese di Lorne,

29

È la larghezza della lettera M in una determinata dimensione del carattere inglese.
Quindi 2em è il doppio della larghezza della lettera M in questo dato carattere.
Per un carattere non inglese, è la larghezza della lettera più larga in quel carattere. Questa dimensione della larghezza in pixel è diversa dalla dimensione della larghezza della M nel carattere inglese ma è ancora 1em .
Quindi se uso un testo con 12sp in un carattere inglese, 1em è relativo a questo carattere inglese 12sp; l'uso di un carattere italiano con 12sp dà 1em che è diverso in pixel di larghezza rispetto a quello inglese.


6

em è l'unità tipografica della larghezza del carattere. un em in un carattere tipografico a 16 punti è 16 punti


3

ems è un'unità di misura

Il nome em era originariamente un riferimento alla larghezza del M maiuscola . Imposta la larghezza di un oggetto TextView / EditText in modo che si adatti a un testo di n 'M' lettere indipendentemente dall'estensione del testo e dalle dimensioni del testo.

Per esempio :

android:ems Rende il EditText esattamente così tanti.

<EditText
    android:ems="2"
/>

indica il doppio della larghezza della lettera M creata.


0

em è fondamentalmente una proprietà CSS per le dimensioni dei caratteri.

Le unità em ed ex dipendono dal carattere e possono essere diverse per ciascun elemento nel documento. Em è semplicemente la dimensione del carattere. In un elemento con un carattere 2in, 1em significa quindi 2in. Esprimere dimensioni, come margini e padding, in em significa che sono correlate alla dimensione del carattere e se l'utente ha un carattere grande (ad es. Su un grande schermo) o un carattere piccolo (ad es. Su un dispositivo portatile), il le dimensioni saranno proporzionate. Dichiarazioni come testo-indent: 1.5em e margin: 1em sono estremamente comuni nei CSS.

Fonte: https://www.w3.org/Style/Examples/007/units

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.