Canvas.drawText(“+ 5”)在Android中根本不显示“+”符号?

时间:2011-01-21 13:20:14

标签: android canvas escaping character drawtext

我确信这与需要转义字符或某事有关 - 但我无法弄明白。当我尝试在我的画布上绘制+5时,+符号永远不会出现 - 我不会看到5。

任何人都知道如何在画布上绘制这样的特殊字符吗?

谢谢!

这是我编译但不显示“+”的代码:

    private void doDraw(Canvas canvas) {
       //other misc canvas.draw(...) calls

       canvas.drawText("+5", xPos, yPos, bonusScorePaint);
}

显然

canvas.drawText("\+5", xPos, yPos, bonusScorePaint);

不是有效的转义序列,因此无法编译。

4 个答案:

答案 0 :(得分:1)

你回答了自己的问题。是的,你需要在“+”前加一个“\”。

答案 1 :(得分:1)

原来这是我的TypeFace。不知道为什么,我使用的是自定义字体,但此字体中存在+号。

答案 2 :(得分:0)

以下是我的代码:

ImageView img = (ImageView)findViewById(R.id.img);
Bitmap bmp = Bitmap.createBitmap(400, 400, Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(bmp);
Paint p = new Paint();
p.setColor(Color.WHITE);
c.drawText("+5", 20, 20, p);
img.setImageBitmap(bmp);

我唯一的想法是它可能是你的绘画对象的颜色或对象的位置。

答案 3 :(得分:0)

Konrad Rudolph所述,请尝试\\+

相关问题