android 文字超出控件宽度时,自动滚动显示,类似跑马灯效果

1.自定义控件

自定义RollTextView 继承TextView,重写 isFocused(),返回为ture 即可;

public class RollTextView extends TextView {
    public RollTextView (Context context) {
        super(context);
    }
    public RollTextView (Context context, AttributeSet attrs) {
        super(context, attrs);
    }
    public RollTextView (Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
    }

    @Override
    public boolean isFocused() {
        return true;
    }
}
2.布局文件:
 <com.ss.demo.RollTextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:singleLine="true"
        android:text="这是个TextView自动滚动效果示意案列,实现单行滚动效果"
        android:marqueeRepeatLimit="marquee_forever"
        android:ellipsize="marquee"
        android:scrollHorizontally="true"
        android:background="@drawable/bg_fff_25"
        android:textSize="20sp"
        android:textColor="#222"
        android:padding="5dp"/>

eandroid:ellipsize=”marquee”设置可以以横向滚动方式显示,但前提是需获得当前焦点,所以才有的上一步,重写 isFocused(),返回为ture则获取焦点;

android:marqueeRepeatLimit=”marquee_forever”设置跑马灯显示次数,marquee_forever表示不间断无限次,也可以通过代码textview.setMarqueeRepeatLimit(1)设置次数(设置-1 则是无限滚动);

android:scrollHorizontally=”true”设置水平显示;

3.效果图:

当显示的文字超出控件的宽度时,则自动滚动显示,不超过,则不滚动;
这里写图片描述

这里写图片描述

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值