一.第一種方法
1.在TextView中設(shè)置相關(guān)屬性
1. android:ellipsize="marquee" 設(shè)置跑馬燈顯示效果
2. android:focusable="true" 獲得焦點才能滾動
3. android:marqueeRepeatLimit="-1" 設(shè)置滾動次數(shù) 1代表1次 -1代表無限循環(huán)
4. android:singleLine="true" 必須單行顯示
5. android:focusableInTouchMode="true" 獲得焦點才能滾動```
2.問題:
1.這種方法實現(xiàn)的效果不是很理想,剛進入頁面的時候Title滾動效果略微卡頓
2.在切換到全屏之后在切換回豎屏狀態(tài)下時,TextView的滾動效果停止了
二.第二種方法
1.寫一個自定義的TextView繼承TextView,重寫isFocused方法,返回True,用此方法來獲得焦點
1.在xml控件中寫上第一種方法的1.3.4就可以了
public class MarqueeTextView extends TextView {
public MarqueeTextView(Context context) {
super(context);
}
public MarqueeTextView(Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
}
public MarqueeTextView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
@SuppressLint("NewApi")
public MarqueeTextView(Context context, @Nullable AttributeSet attrs, int defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
}
@Override
public boolean isFocused() {
return true;
}
}