天天看点

android中的ems的真正含义

​android​

​​开发中经常会看到一个属性叫做​

​ems​

​​ 很多人说这是能输入的最大长度

但是这是不准确的,不信你可以试试,​

​ems=10​

​的时候,说不定你可以输入十几个字符

那么他的含义究竟是什么?

其实很简单,如果你做过前端,你应该会知道​

​em​

​ 前端的​

​em​

​是以当前上下文的字体大小来对字体大小进行设置的一种相对值

这里的​

​em​

​和前端的​

​em​

​不同

不卖关子了,其实这个​

​ems=10​

​​,意思就是说,一行占据的空间=​

​10个M​

​​占据的空间。

不是​​

​10​

​​兆,是十个字符​

​‘M’​

​​所占据的空间

相信大家都会承认​​

​M​

​​占据的宽度比​

​i​

​​要宽的多吧,所以​

​ems=10​

​​时可能一行能够显示的字符不止​

​10​

​​个

也因此,​​

​width​

​​就要设置为​

​wrap-content​

​​了,否则​

​match-parent​

​的时候,宽度就太宽了,那么这个属性也就没作用了。