Android button内容越界滚动的实现

仅仅所以要写这么一篇基础性比較强的文章是由于之前一直以为这样的功能设置下属性就能够实现了,事实上不然!


当你使用各种属性都没办法达到预期效果时。请參考我以下的代码:

public class ScrollForeverButton extends Button {

    public ScrollForeverButton(Context context) {
        super(context);
        // TODO Auto-generated constructor stub
        setSingleLine();                    //单行
        setEllipsize(TruncateAt.MARQUEE);   //设置为走马灯效果
        setMarqueeRepeatLimit(-1);          //无限循环
        setTextColor(Color.WHITE);
    }

    public ScrollForeverButton(Context context, AttributeSet attrs) {
        super(context, attrs);
        setSingleLine();
        setEllipsize(TruncateAt.MARQUEE);
        setMarqueeRepeatLimit(-1);
        setTextColor(Color.WHITE);
    }

    public ScrollForeverButton(Context context, AttributeSet attrs,
            int defStyle) {
        super(context, attrs, defStyle);
        setSingleLine();
        setEllipsize(TruncateAt.MARQUEE);
        setMarqueeRepeatLimit(-1);
        setTextColor(Color.WHITE);
    }

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

}

关键在于最后一个方法

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

此处必须返回true。

第一次用markdown写blog,呵呵呵呵!

posted on 2017-06-22 16:38  yutingliuyl  阅读(114)  评论(0编辑  收藏  举报