跑马灯解决方案(设置TextView的属性):
android:singlelLine="true" --只单行显示
android:ellipsize="marquee"
android:focusable="true" //允许获取焦点
android:focusableInTouchMode="true" 即可。//通过Touch来获得焦点
但是当有两个TextView如下布局的时候,只有第一个出现跑马灯的效果,而第二个没有效果:
<TextView
android:id="@+id/textView1"
....../>
<TextView
android:layout_below="@id/textView1"
android:layout_marginTop="10dp" --间隔10dp
....../>
如何解决呢?
1.定义一个派生类,如MarqueeText,继承与父类TextView
2.根据TextView的三个构造函数,定义子类的三个构造函数
3.重写isFocused函数为public boolean isFocused(){return true;} //控件被选中,即激活有效
4.将上面的两个TextView替换为XXX.XXX.XXX.MarqueeText,即可。
附加属性介绍:
android:ellipsize = "end" 省略号在结尾
android:ellipsize = "start" 省略号在开头
android:ellipsize = "middle" 省略号在中间
android:ellipsize = "marquee" 跑马灯