Android TextView 实现跑马灯效果

 其实实现跑马灯效果很方便的只需要TextView的几个属性即可

<com.view.MarqueeTextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="消息"
    android:gravity="center"
    android:ellipsize="marquee"  //跑马灯效果 
    android:marqueeRepeatLimit="marquee_forever"
    android:singleLine="true"
    android:scrollHorizontally="true"
    android:id="@+id/text"
    />
 android:ellipsize="marquee"  
  这边有五个属性都是在TextView长度占满时省略号的显示位置,   end:在最后面显示  start 最前面 none 不显示 middle  中间  marquee 就是我们的跑马灯效果了

  marqueeRepeatLimit = "marquee_forver" 跑马灯效果无限循环

  singleLine 限制只允许单行显示

  scrollHorizontally = "true" 水平滑动

 还有要设置起获得焦点  focused

 

  我们想要实现这个效果必须得重写TextView,因为我们得让TextView 实现一直获得焦点.

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 defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    @Override
    public boolean isFocused() {
        return true;
    }
}
isFocused return true  复写这个方法即可

注意想要滚动你的文字宽度必须大于Android:layout_width  你设置的控件宽度


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值