如何实现TextView的Marquee效果

 我来答
月洋晨
2017-08-19 · TA获得超过322个赞
知道小有建树答主
回答量:639
采纳率:25%
帮助的人:333万
展开全部
往往看到一些应用的标题栏中当标题超出时便会自动滚动
这篇文章要讲的就是如何去实现TextView的Marquee效果
其实TextView已经自带了如何实现滚动的属性

Xml代码
<span style="font-size: medium;">android:singleLine="true"
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever"</span>
通过上面的属性设置就能让TextView滚动起来。当然也可以通过代码去设置。

但是当设置完之后发现并没有滚动起来,原来TextView滚动的前提是这个空间必须要获得焦点。TextView需要必须处于focus状态。

在TextView的父类View中有一个方法isFocused(),系统通过这个方法去判断一个空间是否获得焦点。
所以我们就有了解决方案:
写一个子类继承TextView,重写isFocused()方法,直接返回true。当通过这个函数去判断TextView有没有获得焦点时,总是返回获得焦点于是我们的TextView就开始滚动起来了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式