Android:调用canvas.scale()后文本变得模糊

时间:2014-04-09 02:21:30

标签: android canvas scale blurry

当我想使用canvas.scale()放大我的自定义视图文本时,文本变得模糊,如下所示:

@override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.translate(50,50 );
canvas.scale(mDpi/72, mDpi/72);
canvas.drawText("Stackoverflow!", 50, 50, mPaint);
}

mDpi是320,当它在手机中运行时,它很模糊;但是,当代码在nexus 10中运行时,它是正常的!有人可以告诉我为什么?

1 个答案:

答案 0 :(得分:6)

我有解决方案!

private void closeHardwareAcceleration() {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
        setLayerType(LAYER_TYPE_SOFTWARE, null);
    }
}

因为在api 11之后,使用HardwareAcceleration绘制视图,只需关闭它!