Android中TextView:maxWidth、maxLength、maxEms的区别

1.maxWidth

maxWidth指的是控件自己的最大宽度,当控件的属性layout_width=”wrap_content”时生效,若layout_width指定了具体的值,则maxWidth失效。

2.maxLength

maxLength限制TextView中显示的字符的个数。需要特别注意的是,在这里汉字、数字、英文字母、标点符号等,都理解为一个字符。maxLength属性会使ellipsize=”end”属性失效。也就是说添加了maxLength属性后就不会再显示”…”

3.maxEms

首先解释一下em是一个印刷排版的单位,表示字宽的单位。 em字面意思为:equal M(和M字符一致的宽度为一个单位)简称em。ems是em的复数表达。
例如maxEms=”5”可以理解成宽度最多容纳5个汉字的宽度。实测发现当TextView包含的内容是英文字符的时候,maxEms=”5”可容纳10个小写字母或6个大写字母。当包含的内容是汉字的时候,可容纳5个汉字或5个中文标点,所以在使用这个属性的时候可以用汉字作为标准来设置具体的值。
补充:maxEms与maxWidth很相似,只是单位不一样,都是限制TextView的最大宽度,所以可以和ellipsize属性共用

你可能感兴趣的:(android控件)