Android maxEms与maxLength

我真服了,好几年没用这两个属性,印象中maxEms比maxLength好用,印象中maxEms限制4,中文和英文都是4个,maxLength限制4,中文是2,英文是4,结果全是反的。。。。查了下有些博客也是说记反了,我都以为曼德拉效应了。

image.png

可以看到几个明显区别:
1、maxEms在宽度match_parent时无效,而非match_parent时,如果不是maxLines=1(singleLine),会自动换行,说白了只会限制单行字数。而maxLength无论宽度多少都是限制总字数,当然如果限制的文字总宽大于控件宽,也会换行,所以控件宽和单个文字宽度已知的情况,通过maxLength限制字数也能限制行数;
2、maxEms限制的是中文字数,对应英文字数是要乘以2的,例如maxEms=2,中文是两个字,英文是4个字;而maxLength限制的是字符数,maxLength=2,无论中文英文字数都是2;

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容