9

I've seen many posts dealing with similar problems but none of them worked for me. In Canvas, I have a rectangle of size, let's say, 200px by 200px, and I want to write text in this rectangle. The text doesn't need to fill the entire rectangle, but the important thing is that there should automatically be a line break when it reaches the end of the rectangle. How can I do this in Android?

4

4 に答える 4

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();
于 2012-10-16T18:21:00.967 に答える
3

テキストを測定してから、コードで自分で分割する必要があります。 Paint.measureTextが必要です。

于 2012-10-16T18:11:25.943 に答える
0

キャンバスの上にテキストフィールドを使用して、そのテキストフィールドで複数行を有効にすることができますか?テキストフィールドの改行は無料です;-)

于 2012-10-16T18:18:03.990 に答える