Android Paint.setAntiAlias(false)没有效果?

Android Paint.setAntiAlias(false)没有效果?,android,paint,android-canvas,antialiasing,Android,Paint,Android Canvas,Antialiasing,我正在尝试在Android的画布上绘制没有抗锯齿的文本。我要使用的字体是cour.ttf文件,我已将它从PC的C:\windows\fonts目录复制到我的应用程序的资产目录 我正在使用以下代码: paint.setColor(Color.BLACK); paint.setTypeface(Typeface.createFromAsset(getAssets(),"cour.ttf")); paint.setTextSize(20); paint.setAntiAlias(false); can

我正在尝试在Android的画布上绘制没有抗锯齿的文本。我要使用的字体是cour.ttf文件,我已将它从PC的C:\windows\fonts目录复制到我的应用程序的资产目录

我正在使用以下代码:

paint.setColor(Color.BLACK);
paint.setTypeface(Typeface.createFromAsset(getAssets(),"cour.ttf"));
paint.setTextSize(20);
paint.setAntiAlias(false);
canvas.drawText("ABCDE abcde 12345 -+/#.",100,100,paint);
但是setAntiAlias函数似乎没有任何效果。 这张图片显示了我的结果:

第一行是应用程序的屏幕截图,抗锯齿设置为false。 第二行是应用程序的屏幕截图,抗锯齿设置为true。 第三行是我希望得到的,它是我的PC在notepad.exe中用相同字体制作的屏幕截图

我是否做错了什么,或者这是禁用抗锯齿时的预期输出?我想在这里实现的是像素化的无模糊文本

非常感谢您的帮助

编辑: 我还没有完全找到解决方案,但我确实发现了一些有趣的东西: 在我的活动中添加
android:hardwareAccelerated=“false”
可以让我的活动变得更加清晰。在安卓4上,这似乎是默认打开的。但仍然有一个(非常轻的)阴影,我想去掉它

禁用硬件加速的屏幕截图:

PC和手机上的像素密度似乎不同,这就是文本外观不同的原因。您无法将手机渲染的文本与PC上渲染的文本进行比较。我认为手机上的像素密度很高,因此您无法看到消除混叠的效果。

您好,谢谢您的回复。我做的截图是从一个带有MDPI屏幕的平板电脑(Acer Iconia Tab A200)上截取的。它的密度比个人电脑高,但密度不是很高,在正常视距下我再也看不出单个像素了。你设置了亚像素文本标志了吗?这是一种可能性。尝试在
绘制中将其设置为false
。感谢您的建议,我已经尝试过了,但似乎也没有任何效果(true或false的结果相同)。当你使用它时,它有什么影响吗?当你使用字体尺寸时,它确实会产生影响。设置为true会更准确。亚像素标志给了我谷歌关键词的新灵感,我发现了一些关于硬件加速的有趣的东西;我已经编辑了我的问题。也许你有办法去除阴影效果?我试过paint.setShadowLayer,但它不影响测试。无论如何,我对目前为止的结果非常满意,因为我已经帮助我找到了解决方案,我会给你奖金(如果可能的话,在一小时内)。