今天發現android開發中有一個android:ellipsize=marquee,這個感覺像html中的marquee功能,可以實作滾動效果,于是測試了一下,結果不行呀,後來百度了一下解決辦法,下面大家一起來看看。
若要讓TextView裡的文本滾動,必須滿足以下幾個因素:
1,TextView裡文本寬度超過TextView的寬度
2,android:ellipsize="marquee"
3,隻有在TextView擷取到焦點時,才會滾動.是以加上android:focusableInTouchMode="true" android:focusable="true"
最容易忽略的是第三條.
滾動重複次數設定:
android:marqueeRepeatLimit="marquee_forever"
看一個TextView屬性android:ellipsize實作跑馬燈效果
Android系統中TextView實作跑馬燈效果,必須具備以下幾個條件:
1、android:ellipsize=”marquee”
2、TextView必須單行顯示,即内容必須超出TextView大小
3、TextView要獲得焦點才能滾動
XML代碼:
android:ellipsize="marquee", android:singleLine="true"
Java代碼:
mTVText.setText("哼唱接撒砥砺風節雷鋒精神,很長很長很長很長很長很長的資料");
mTVText.setSingleLine(true);
mTVText.setEllipsize(TruncateAt.MARQUEE);
PS: TextView.setHorizontallyScrolling(true); //讓文字可以水準滑動
TextView還可以設定跑馬燈效果的滾動次數,如下:
XML代碼設定:
android:marqueerepeatlimit="1"。1代表1次,-1代表無限循環。
Java代碼設定:
mTVText.setMarqueeRepeatLimit(-1);