Android TextView 实现跑马灯效果

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

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"/>

注:本View是一个自定义View

这边有五个属性都是在TextView长度占满时省略号的显示位置,   end:在最后面显示  start 最前面 none 不显示 middle  中间  marquee 就是我们的跑马灯效果了

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

singleLine 限制只允许单行显示

scrollHorizontally = "true" 水平滑动

还有要设置起获得焦点  focused

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

public classMarqueeTextViewextendsTextView{publicMarqueeTextView(Context context) {

super(context);

}

public MarqueeTextView(Context context,AttributeSet attrs) {

super(context,attrs);

}

public MarqueeTextView(Context context,AttributeSet attrs, intdefStyleAttr) {

super(context,attrs,defStyleAttr);

}

@Override

public booleanisFocused() 

{return true;}}

isFocused return true  复写这个方法即可

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

你可能感兴趣的:(Android TextView 实现跑马灯效果)