0
我有一個字符串數組,並使用android圖形庫(Canvas,Paint)在屏幕上繪製了這些字符串。首先,繪製一個透明的矩形,然後在這個矩形上繪製字符串,給出帶有邊框線和填充的文本的印象。根據字符串長度在畫布上自動設置矩形長度
問題是一些字符串很長,有些很短,我怎樣才能修改矩形,使其與字符串一樣長和寬? (如在TextView中WRAP_CONTENT)
目前我使用這種方法
canvas.drawRect(_x-10, _y-10, _x+620, _y+30, rectanglePaint);
canvas.drawText(placeName, _x, _y, textPaint); //text
如果有更好的方法,那麼請不要讓我知道。
注意:它將用於AR應用程序,因此當移動設備移動時,文本將從左向右移動,反之亦然。 _x,_y代表地名在第二行完美呈現,我希望文字應該保持突出顯示,無論移動設備如何移動。
有沒有一種方法可以得到文本在屏幕上覆蓋的長度?例如,爲了簡單起見,例如可以說,如果我在矩形中包含單詞「hello」,我如何獲得該矩形bcx的長度,一旦我得到它,就完成了。 – aqarain
'textPaint.measureText(「hello」)'應該給你的長度(以像素爲單位) – FunkTheMonk
非常感謝,先生,這對我有用:) float len = textPaint.measureText(placeName); canvas.drawRect(_x-10,_y-10,_x + len + 15,_y + 30,rectanglePaint); canvas.drawText(placeName,_x,_y,textPaint); //文本 – aqarain