TTF字体大小问题Android canvas

问题描述

我正在使用canvas.drawText()在自定义视图中绘制文本,并且字体没有根据我提供的浮动大小正确缩放。字体仅以离散尺寸绘制。为什么会这样,并且有一种方法可以缩放具有浮动大小的字体?

paint.setTextSize(textSize);
Log.d("DEBUG","textSize : " + textSize);
paint.setTypeface(Typeface.createFromAsset(context.getAssets(),"fonts/times.ttf"));

如以下插图所示,字体突然从3更改为2。 有没有办法以2.5f大小绘制字体?

enter image description here

解决方法

尝试一下:

paint.textSize = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP,12f,resources.displayMetrics)

此代码设置要绘制的12sp文字大小