Android中TextView是最常用的的控件之一,主要用于文本的展示。
文本展示中,文本长度的控制还是挺需要注意的地方,下文将就此进行一些实验和分析。

TextView有几种控制文本长度的方法
android:maxWidth 控制View的长度来控制文本长度
android:maxLength 控制字符的个数来控制文本长度
android:maxEms 控制字符的长度来控制文本长度

以下使用简单的结构来分别进行验证
android:maxWidth + android:maxLines

    

这是比较简单粗暴的方法,通过长度和行数的设置,直接截断输入的文本。文本的字体大小改变后,可以展示的文字个数也会随之改变。支持省略号的缩进(android:ellipsize属性)。
PS:maxline = 1 与singleLine = true效果相同,不过魅族部分机型不支持maxLine,所以可以用singleLine更好些。

图1

android:maxLength

    

maxLength用于限制输入字符的个数,先对文本进行截取,再填入控件,所以不支持省略号的缩进。使用maxLength,汉字,英文字母,标点以及空格都占一位。如下图所示,为maxLength为10的效果:


图2
图3

android:maxEms

    

maxEms支持省略号的缩进。
Ems比较像一种单位或者权重,比如maxEms设为10时,大概可以展示20个英文字符,10个中文字符(中英文不同的标点符号权重不同,比如英文逗号可以展示将近50个,但中文逗号只能展示10个,而英文的*号可以展示20个)。但实际上也并非一一对应的,下文为maxEms的具体定义,可知其实并不好控制:

maxEms=”10” 限制TextView的最大宽度为10个大写M的字符宽度。em是一个印刷排版的单位,表示字宽的单位。 em字面意思为:equal M(和M字符一致的宽度为一个单位)简称em。ems是em的复数表达。

更多相关文章

  1. Android(安卓)TextView在XML中的属性
  2. android编译问题,如何控制make编译hdpi,mdpi和默认的高度和宽度
  3. 自定义组件研究
  4. delphi xe5 android 控制蓝牙
  5. android DIY 2
  6. android获取当前文字的总体长度的方法
  7. 实现Android屏幕控制Androidscreencast应用
  8. Android飞行模式下Wifi开关行为的控制
  9. Android(安卓)监听EditText文本输入 EditText监听事和输入事件

随机推荐

  1. Android属性动画AnimatorSet源码简单分析
  2. Android(安卓)使用Loader示例
  3. 制作 Nine-Patch 图片
  4. Android系统启动过程
  5. Android的selector,背景选择器
  6. Android的Adapter用法理解
  7. android中的selector背景选择器
  8. android http协议添加Authorization认证
  9. Android(安卓)Gson的使用
  10. H5做的商城客户端,效果很不错