TextView跑馬燈無效的解決辦法
阿新 • • 發佈:2018-12-30
若要讓TextView裡的文字滾動,必須滿足以下幾個因素:
1,TextView裡文字寬度超過TextView的寬度
2,android:ellipsize="marquee"
3,只有在TextView獲取到焦點時,才會滾動.所以加上android:focusableInTouchMode="true" android:focusable="true"(對於使用marquee即滾動顯示方式的,需要當前textview獲得焦點才會滾動。所以有時可能因為實際需要,textview未獲得焦點或者需要多個textview都同時滾動顯示時,可以採用以下辦法:
因為判斷textview是否處於focused狀態是通過它本身isFocused()方法,這樣只要此方法返回為true時,即認為處於focused的狀態,就可以滾動啦。
滾動重複次數設定: android:marqueeRepeatLimit="marquee_forever"
TextView中可以設定一個ellipsize屬性,作用是當文字長度超過textview寬度時的顯示方式:
android:ellipsize=”start”—–省略號顯示在開頭 "...pedia"
android:ellipsize=”end”——省略號顯示在結尾 "encyc..."
android:ellipsize=”middle”—-省略號顯示在中間 "en...dia"
android:ellipsize=”marquee”–以橫向滾動方式顯示(需獲得當前焦點時)