3

我正在尝试使用画布绘制文本。我到处查看,但这些例子相当复杂,我可以在画布上绘制文本,但它不像这张照片那样显示。

在此处输入图像描述

我找到了这段代码并且它正在工作,我只需要像上图那样写。

        Paint paint = new Paint();
        paint.setColor(Color.BLACK);
        paint.setTextSize(30);
        paint.setAntiAlias(true);

        canvas.drawText("There are 137 days, 9 hours 4 minutes and 36 seconds", 150,150, paint);
4

1 回答 1

6

获取您想要的字体并将其添加到您的资产文件夹中。假设字体文件名为“pretty.otf”。然后在您的代码中,您所要做的就是。

Paint paint = new Paint();
paint.setColor(Color.BLACK);
paint.setTextSize(30);
paint.setAntiAlias(true);

Context mContext = getContext();
Typeface myTypeface = Typeface.createFromAssets(mContext.getAssets(), "pretty.otf");

paint.setTypeface(myTypeface);

要像在图像中那样间隔文本,请通过在字符串中添加 \n 字符来添加新行,如下所示:

canvas.drawTextOnPath("There are\n137 days, 9 Hour\n4 Minutes and 36 seconds\nuntil Christmas", circle, 0,30,paint);
于 2012-06-03T21:13:17.683 回答