文章标题

本文介绍了一种实现Android按钮内容无限滚动的方法。通过自定义ScrollForeverButton类并重写isFocused()方法始终返回true来实现走马灯效果。适用于需要显示不断滚动文字的应用场景。

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,呵呵呵呵!

转载于:https://www.cnblogs.com/yutingliuyl/p/7065793.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值