Android TextView根据textsize计算TextView的宽度和高度

1.前言
在动态添加TextView过程中由于不知道长度和宽度,不方便设置初始值,所以就需要通过字体大小和字体个数来进行计算,然后得出TextView的宽和高,具体代码如下:
根据textsize就算出高度

 public int getFontHeight(int fontSize) {
        Paint paint = new Paint();
        paint.setTextSize(fontSize);
        Paint.FontMetrics fm = paint.getFontMetrics();
        return (int) (Math.ceil(fm.descent - fm.top) + fontSize);
    }

根据字体高度得出TextView的宽度

int height = getFontHeight(20);
int width = (int)(height*0.618)*5 //5个字符时的长度

这样就计算出TextView的长和宽了

你可能感兴趣的:(android)