您的位置:首页 > 移动开发 > Android开发

Android控件TextView中ellipsize属性(设置当文字长度超过textview宽度时的显示方式)

2016-08-06 22:49 543 查看
TextView中可以设置一个ellipsize属性,作用是当文字长度超过textview宽度时的显示方式:

例如,字符串"abcedfg" 的各种现实效果:

android:ellipsize=”start”—–省略号显示在开头 "...edfg"

android:ellipsize=”end”——省略号显示在结尾  "abcdec..."

android:ellipsize=”middle”—-省略号显示在中间 "ab...fg"

android:ellipsize=”marquee”–以横向滚动方式显示(需获得当前焦点时)

 

对于使用marquee即滚动显示方式的,需要当前textview获得焦点才会滚动。所以有时可能因为实际需要,textview未获得焦点或者需要多个textview都同时滚动显示时,可以采用以下办法:

因为判断textview是否处于focused状态是通过它本身isFocused()方法,这样只要此方法返回为true时,即认为处于focused的状态,就可以滚动啦。

所以可以通过继承TextView类,并override isFocused()方法来控制是否滚动咯。

 

另外如果是组合View,外层layout需要加入以下属性来保证focus状态的传递:addStatesFromChildren="true"
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐