android drawText时使文字居中、获取文字宽高

来源:互联网 发布:关注网站源码 编辑:程序博客网 时间:2024/05/17 23:31

使文字居中:

水平居中:

Paint.setTextAlign(Paint.Align.CENTER);

垂直居中:

float fontHeight=textPaint.getFontMetrics().bottom-textPaint.getFontMetrics().top;canvas.drawText("hello world", rX , rY+fontHeight/2-textPaint.getFontMetrics().descent, textPaint);


获取text宽度

private float getTextWidth(Paint p,String string)    {        float width=0;        float[] widths=new float[string.length()];        p.getTextWidths(string,0,string.length(),widths);        for(int i=0;i<string.length();i++)        {            width+=widths[i];        }        return width;    }

获取text高度

float fontHeight=textPaint.getFontMetrics().bottom-textPaint.getFontMetrics().top;//稍稍大于文字宽度



0 0
原创粉丝点击