TextView中有个ellipsize属性,作用是当文字过长时,该控件该如何显示,解释如下:
1.android:ellipsize=”start”—–省略号显示在开头
2.android:ellipsize=”end”——省略号显示在结尾
3.android:ellipsize=”middle”—-省略号显示在中间
4.android:ellipsize=”marquee”–以跑马灯的方式显示(动画横向移动)

文字左右滚动的属性: 
android:singleLine="true"  表示使用单行文字
android:ellipsize="marquee"

android:focusableInTouchMode="true"
android:focusable="true" 设置焦点
android:marqueeRepeatLimit="marquee_forever"设置走马灯滚动的次数,marquee_forever为无限滚动

其他效果:

android:scrollbars="vertical" <!--垂直滚动条-->
android:singleLine="false" <!--实现多行-->
android:maxLines="15" <!--最多不超过15行-->

Java代码:

android:ellipsize="marquee", android:singleLine="true"
Java代码1:
mTVText.setText("");
mTVText.setSingleLine(true);
mTVText.setEllipsize(TruncateAt.MARQUEE);
PS: TextView.setHorizontallyScrolling(true); //让文字可以水平滑动

Java代码2:

tv.setEllipsize(TextUtils.TruncateAt.valueOf("END"));
tv.setEllipsize(TextUtils.TruncateAt.valueOf("START"));
tv.setEllipsize(TextUtils.TruncateAt.valueOf("MIDDLE"));
tv.setEllipsize(TextUtils.TruncateAt.valueOf("MARQUEE"));
最好再加一个约束tv.setSingleLine(true);
不仅对于textview有此属性,对于editext也有,不过它不支持marquee

 

  以上代码中跑马灯效果在xml中添加上面的滚动属性可以实现,本人已经用过,Java代码部分还未验证。