跑馬燈的效果,我看到好多文章就想笑。很多文章都有一句,文字不能比TextView長。我了個去,有點腦子的都知道,文字沒有TextView長的話還需要跑馬嗎?全顯示出來了還需要跑馬?
跑馬燈的效果默認是需要獲得焦點才有效。為了任何時候有效,可以繼承Textiew,重寫IsFocused方法,返回true。
本文工程源碼下載:
免費下載地址在 http://linux.linuxidc.com/
用戶名與密碼都是www.linuxidc.com
具體下載目錄在 /pub/Android源碼集錦/2011年/12月/Android 跑馬燈/
- public class MarqueeTextView extends TextView {
-
- public MarqueeTextView(Context context) {
- super(context);
- }
- public MarqueeTextView(Context context, AttributeSet attrs){
- super(context,attrs);
- }
- public MarqueeTextView(Context context, AttributeSet attrs, int defStyle){
- super(context, attrs, defStyle);
- }
- public boolean isFocused(){
- return true;
- }
-
- }
然後TextView配置屬性
- mText.setSingleLine(true);
- mText.setEllipsize(TruncateAt.MARQUEE);
- mText.setMarqueeRepeatLimit(-1);
Ok了