本文用了继承自TextView的MarqueeTextView来实现跑马灯效果.原因是,跑马灯效果是须要TextView拥有焦点才会跑动的.而有时候TextView获得焦点会有点耗时,造成要等待一段时间跑马灯效果才会出来. 另外.系统默认是仅仅有一个TextView处于focused状态,而当页面有不少于两个跑马灯时,用TextView就不好实现了. MarqueeTextView类代码: public class MarqueeTextView extends TextView{ public
TextView都有跑马灯的效果,如果说让你去监听跑马灯效果的执行,我觉得这个需求有点二了,但是也要实现. 思路: 1.自定义View 继承TextView 这种方法过于麻烦,只是监听一个跑马灯而已. 2.自定义SPan.简单好用,扩展TextView的功能. 关键代码如下: @Override public void draw(Canvas canvas, CharSequence text, int start, int end, float x, int top, int y, in