Android编程:如何在矩形中绘制多行文字?

vau*_*uge 9 android android-layout android-canvas

我看过很多关于类似问题的帖子,但没有一个对我有用.在Canvas,我有一个大小的矩形,比方说,200px到200px,我想在这个矩形中写文字.文本不需要填充整个矩形,但重要的是当到达矩形的末尾时应该自动换行.我怎样才能在Android中执行此操作?

Igo*_* B. 32

您可以使用StaticLayout.

RectF rect = new RectF(....)

StaticLayout sl = new StaticLayout("This is my text that must fit to a rectangle", textPaint, (int)rect.width(), Layout.Alignment.ALIGN_CENTER, 1, 1, false);

canvas.save();
canvas.translate(rect.left, rect.top);
sl.draw(canvas);
canvas.restore();
Run Code Online (Sandbox Code Playgroud)

  • 谢谢!我以前从来没有遇到过StaticLayout,我可以用它来清理我在我的应用程序中遇到的一些乱码. (2认同)