0
点赞
收藏
分享

微信扫一扫

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​​的时候,宽度就太宽了,那么这个属性也就没作用了。

当然咯,前面说的是相对于字符​​‘M’​​​的宽度,那么对于中文呢?
这时候就不是相对于​​​‘M’​​而言了,而是相对于中文中最宽的那一个字,对于其他语言也是如此

android中的ems的真正含义_TextView


举报

相关推荐

0 条评论