android UI中滚动条目的实现

如何在TextView控件中实现自动滚动的条目?

先抛结论: 1. 设置ellipsize属性为marquee  2.该控件持续获取焦点(is focused)

接下来引入ellipsize属性,ellipsize是省略号的意思,该属性如何工作呢?当控件中的内容超过文本框的长度时,如果ellipsize置为start,

则显示出省略号和最后一段内容,如果为middle,则显示出最前面的一段内容,省略号,最后的一段内容,如果置为end,则显示出最前面的

一段内容和省略号,我们这里要用的是marquee属性,即选取框的意思,此时会用选取框动态截取整个内容,显示出来,从而达到滚动条目

的效果.

一般情况下,TextView是不可以通过点击获取焦点的,即使可以,也不推荐,每次要点击之后才能实现滚动效果,不是我们需要的效果.而在

TextView中有这样一个方法isFocused(); 该方法会判断当前控件是否获取到了焦点,我们直接自定义一个FocusedTextView继承TextView,

继承父类中的构造方法,重写父类的isFocused()isFocused(), 直接返回true,使其成为一个永远自动获取焦点的TextView.

所以,在这个自定义的TextView中设置好ellipsize属性就可以完成滚动条目了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值