Android:在调用canvas.scale()之后,文本变模糊了。

3
当我使用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个回答

8
我有解决方案!
private void closeHardwareAcceleration() {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
        setLayerType(LAYER_TYPE_SOFTWARE, null);
    }
}

因为在api 11之后,视图是通过硬件加速绘制的,所以关闭它吧!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接