設(shè)置文字單行顯示一般是如下兩種寫法
android:maxLines="1"
android:maxLines="1"
但是用 singleLine 的時候會提示下圖
建議我們用 maxLines = 1 替換 singleLine乳附,這導(dǎo)致很多人會以為這兩者是等價的御板。
然后我最近遇到的一個問題逞壁,然后發(fā)現(xiàn)這兩個其實還是有區(qū)別的儡羔!
問題是這樣冯勉,一個textview設(shè)置了單行顯示文字纷妆,但是發(fā)現(xiàn)文字會比截取一半场梆,如下圖
圖中的文字被截斷了一半墅冷,這樣的顯示效果肯定是不能接受了,中間嘗試了各種別的辦法都沒有解決這個問題或油,最后的最后寞忿,才發(fā)現(xiàn)是singleLine的鍋。
singleLine是將TextView內(nèi)的所有問題排在了同一行顶岸,強制不換行腔彰,超過TextView寬度的部分我們只是看不到,但是其實還是在后面的辖佣。
maxLines是限制TextView的最大行數(shù)霹抛,而我們可以設(shè)置值為1來達到單行顯示的效果
舉個列子,現(xiàn)在的文字正常展示需要3行卷谈,而singleLine是將這3行的文字都展示在第一行里杯拐,而 maxLines是有換行策略的,但是只展示給我們第一行。這也就是上面說的我遇到的問題的原因端逼,maxLines會自動換行朗兵,所以不會出現(xiàn)文字被截斷,而singleLine是一個橫向的平鋪顶滩,遇到TextView的邊界的時候會被截斷矛市。
而后事實就是我將代碼里的 singleLine 換成 maxLines = 1
該問題就得以解決了。