1. 程式人生 > >android自定義View文字居中

android自定義View文字居中

程式碼:

            float textWidth = textPaint.measureText(text);
            float x = width / 2 - textWidth / 2;

            Paint.FontMetrics metrics = textPaint.getFontMetrics();
            //metrics.ascent為負數
            float dy = -(metrics.descent + metrics.ascent) / 2;
            float y = height / 2
+ dy; canvas.drawText(text, x, y, textPaint);

圖解:

文字圖

方法引數

canvas.drawText(text, x, y, paint)
text:文字
x:預設是這個字串的左邊在螢幕的位置,如果設定了paint.setTextAlign(Paint.Align.CENTER);那就是字元的中心
y:是指定這個字元baseline在螢幕上的位置,大家記住了,不要混淆,y不是這個字元中心在螢幕上的位置,而是baseline在螢幕上的位置。
paint:畫筆