TextView實現文字滾動需要以下幾個要點:
1、文字長度長於可顯示范圍:android:singleLine="true";
2、設置可滾到,或顯示樣式:android:ellipsize="marquee";
3、TextView只有在獲取焦點後才會滾動顯示隱藏文字,所以可以重寫TextView類。(但是一直給予焦點可能會導致其不能被點擊,如放在listView中的時候)
public class AlwaysMarqueeTextView extends TextView {
public AlwaysMarqueeTextView(Context context) {
super(context);
}
public AlwaysMarqueeTextView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public AlwaysMarqueeTextView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
//始終返回true,即一直獲得焦點
@Override
public boolean isFocused() {
return true;
}
布局文件中的TextView添加:
android:singleLine =“true”
android:focusable=“true”
android:marqueeRepeatLimit=“marquee_forever” //滾動次數,此時為無數次
android:ellipsize =“marquee”
ellipsize屬性
設置當文字過長時,該控件該如何顯示。有如下值設置:”start”—–省略號顯示在開頭;”end”——省略號顯示在結尾;”middle”—-省略號顯示在中間;”marquee” ——以跑馬燈的方式顯示(動畫橫向移動)