Re: [問題] 如何知道textview每行可寫幾個字和最多 …

看板AndroidDev作者 (我被淡水的路寵壞了)時間13年前 (2011/04/09 10:54), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/1
※ 引述《sdyy (中壢市的小智)》之銘言: : 因為想要動態改變字體大小,但又怕超出範圍 : 導致layout亂掉,所以想要知道有沒有辦法知道每行字數 : 跟一個頁面下能有幾行 : 字體大小會用setTextSize改變,可選定依照pixel來變 : 但因為layout範圍並不是直接就跟螢幕大小一樣 : 所以會有誤差,而字加上下空白的高度就更不知道了 : 中間插的空白比例好像不太固定... : 導致有時都爆出頁面,有時又太過小 簡單的方法: TextView 可以利用 setMaxLines() 來設定最多的行數, 也可用利用 setEllipsize() 來設定當給定的文字多於顯示範 圍,要如何顯示。 複雜的方法: Paint 可以先用 setTextSize(),給定字體大小, 然後利用 measuerText(),來計算這串文字到底多長。 而實際每個文字的寬度,可以利用 getTextWidths() 取得。 這麼麻煩的原因在於有的英文字型並不是每個字等寬, 像是 I 和 M 的寬度就有明顯的差別,所以需要個別計算。 字上下空白的話應該會是和 TextView.setLineSpacing()有關。 -- hope it's helpful:) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.45.244.250

04/09 12:26, , 1F
感謝啦
04/09 12:26, 1F
文章代碼(AID): #1DdyfHgu (AndroidDev)
文章代碼(AID): #1DdyfHgu (AndroidDev)