Android – Canvas 在 圓 當中 置 中 drawText – JLin

一個 老 問題 了 , 但 找到 這個 似乎 是 目前 看到 最佳 的 解

如何 在 這張 圖 正中央 畫 上 文字

val textHeight: Float = paint.descent() - paint.ascent()

取得 高度

val textOffset = textHeight / 2.0f - paint.descent()

計算 desplazamiento

val bounds = RectF(0.0f, 0.0f, canvas.width.toFloat(), canvas.height.toFloat())

Límites 將 結果 丟入 (código 比較 好 理解 , 不用 留存 / 2 這種)

canvas.drawText("39", bounds.centerX(), bounds.centerY() + textOffset, paint)

另外 文字 大小 要 怎麼 設定? , 可以 用 一個 很大 的 textSize , 然後 在 widget init 的 時候 去 計算 textHeight o textWidth 去 動態 計算 有 沒有 超出 圖檔 框 大小 , 超過 就 逐步 減小 , 直接 剛好 的 textSize 就把 他 記 下.

Hecho.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *