我想在运行时绘制一个Text,但我想绘制一个有三个单词的文本。要求是这些单词应该垂直堆叠。
我能够为一个文本绘制它 - 这是尝试。
protected override void OnDraw(Canvas canvas)
{
base.OnDraw(canvas);
paint.SetStyle(Paint.Style.Stroke);
paint.AntiAlias = true;
paint.Dither = true;
paint.StrokeWidth = 5;
paint.SetARGB(255, 255, 255, 255);
textPaint.AntiAlias = true;
textPaint.SetARGB(255, 255, 255, 255);
textPaint.TextSize = 30;
string firstText = "Text1";
textPaint.TextAlign = Android.Graphics.Paint.Align.Center;
canvas.DrawCircle(centerCircle.X, centerCircle.Y, circleRadius, paint);
canvas.DrawText(firstText, centerCircle.X, centerCircle.Y, textPaint);
}
我没有得到如何在下面绘制下一个Text2 - 我尝试了firstText =“Text1 \ nText2”但没有成功。
请注意 - 我刚刚使用C# Xamarin.Android
启动了android。任何帮助和指针表示赞赏。
谢谢:))
答案 0 :(得分:1)
更改文字的Y
位置:
canvas.DrawText(firstText, centerCircle.X, centerCircle.Y - 50, textPaint);
canvas.DrawText(secondText, centerCircle.X, centerCircle.Y, textPaint);
canvas.DrawText(thirdText, centerCircle.X, centerCircle.Y + 50, textPaint);
如果您希望将文字置于圈子中心,请使用measureText
的{{1}}方法。