引语:如果你已经尽了最大的努力,就不要为任何的失败而气馁;若没有,就不要找任何借口。
说到实现TextView文本水平滚动,大多数人首先会想到的是跑马灯,跑马灯实现起来比较容易,可以在布局文件中设置TextView属性实现。如:
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:singleLine="true"
android:text="@string/marquee_content" />
注意要实现跑马灯效果必须要有三要素,否则无法实现:
1、跑马灯特效声明
android:ellipsize="marquee"
2、焦点
android:focusable="true"
android:focusableInTouchMode="true"
3、单行显示
android:singleLine="true"
除了这三要素之外,还有一个原则。
TextView上的文本长度要超过TextView的宽度,否则也无法实现跑马灯效果。
除了以上几个属性设置以外,还有几个额外的属性可以进行设置,如果不设置不影响跑马灯效果。
1、android:marqueeRepeatLimit="marquee_forever"// 一直循环跑(可以换成相应数字此时对应-1)。
2、android:scrollHorizontally="true"// 水平滚动。
这里存在一些弊端:如,在Android SDK高版本中,文本单行显示singleLine="true