TextView中ellipsize屬性

TextView中可以設置一個ellipsize屬性,作用是當文字長度超過textview寬度時的顯示方式:

例如,"123456789"顯示, 只是舉例,以實際顯示爲準:


android:ellipsize=”start”—–省略號顯示在開頭 "...789"
android:ellipsize=”end”——省略號顯示在結尾  "1234..."
android:ellipsize=”middle”—-省略號顯示在中間 "12...789"
android:ellipsize=”marquee”–以橫向滾動方式顯示(需獲得當前焦點時)

 

對於使用marquee即滾動顯示方式的,需要當前textview獲得焦點纔會滾動。所以有時可能因爲實際需要,textview未獲得焦點或者需要多個textview都同時滾動顯示時,可以採用以下辦法:

因爲判斷textview是否處於focused狀態是通過它本身isFocused()方法,這樣只要此方法返回爲true時,即認爲處於focused的狀態,就可以滾動啦。

所以可以通過繼承TextView類,並override isFocused()方法來控制是否滾動咯。

 

另外如果是組合View,外層layout需要加入以下屬性來保證focus狀態的傳遞:addStatesFromChildren="true"


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章