0

我的 Nexus 7 有奇怪的行为

我一直在使用 Sassoon Primary ttf 在我自己的视图中使用画布中心的 drawText 绘制单个字母。这在我测试过的所有模型上都运行良好,除了我的 nexus 7。

除小写 f 和 j 外,所有字母仍然有效

我已经在 4.2.2 模拟器上进行了测试,它以及 4.0.3 、 4.1.2 和 2.3 都可以正常工作

为了更好地衡量,我已将其设置回默认字体,现在它绘制 F 但不是 J。

有没有人遇到过同样的问题或者可以重新创建?

我的油漆

        textPaint = new Paint();
        textPaint.setColor(Color.WHITE);
        textPaint.setTextSize(650);
        textPaint.setAntiAlias(true);
        textPaint.setTextAlign(Align.CENTER);
        textPaint.setTypeface(font);
        textPaint.setDither(true);

onDraw 命令

            canvas.drawText(letter, center, center, textPaint);

编辑:原来它的尺寸是 650,我需要它。当降低这个然后工作。我怎样才能将它保持在我需要的大小?

谢谢

4

1 回答 1

2

您使用的字体大小太大而无法放入字体缓存中。您可以在 Canvas 上使用较小的字体大小和缩放变换的组合来实现您想要的效果。View.setLayerType()您还可以在绘制字母的视图上使用软件层(参见参考资料)。

于 2013-06-11T18:33:02.053 回答