关闭

TextView跑马灯效果

标签: textview跑马灯android
91人阅读 评论(0) 收藏 举报
分类:

TextView跑马灯效果

一、自定义textview 继承textview

  1. 实现所有构造方法
  2. 重写isFocus方法并return true。
    作用:
    让所有的textview都获得焦点这样就可以使多个textview都显示跑马灯效果,否则默认只有一个textview能获得焦点显示跑马灯如果要让跑马灯失去焦点时也继续跑。
  3. 覆写onFocusChaged函数
    作用:
    取消父函数在失去焦点时的作用。

示例代码:

public class MyTextView extends TextView {
    public MyTextView(Context context) {
        super(context);
    }

    public MyTextView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public MyTextView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    @Override
    public boolean isFocused() {
        return true;
    }

    @Override
    protected void onFocusChanged(boolean focused, int direction, Rect previouslyFocusedRect) {
        if(focused)
            super.onFocusChanged(focused, direction, previouslyFocusedRect);
    }
}

二、设置xml关键属性

<com.gn.demo.MyTextView

    //一行的情况下才有跑马灯
    android:singleline="true"     

    //跑马灯                                  
     android:ellipsize="marquee"   

     //获取焦点                                 
     android:focusable="true"
     android:focusableInTouchMode="true"

     //表示滚动次数,这里设置一直滚动
     android:marqueeRepeatLimit="marquee_forever"  
/>

转载请注明出处

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:2759次
    • 积分:97
    • 等级:
    • 排名:千里之外
    • 原创:6篇
    • 转载:8篇
    • 译文:0篇
    • 评论:0条