Холст drawtext с многострочным

Я разрабатываю приложение для комментариев. Я рисую текст в холсте с canvas.drawText(text, x, y, imgPaint);

Это появляется в одной строке. Мне нужно разбить линию на многострочную, когда текст пересекает ширину холста

заранее спасибо

Вам нужно использовать StaticLayout :

 TextPaint mTextPaint=new TextPaint(); StaticLayout mTextLayout = new StaticLayout("my text\nNext line is very long text that does not definitely fit in a single line on an android device. This will show you how!", mTextPaint, canvas.getWidth(), Alignment.ALIGN_NORMAL, 1.0f, 0.0f, false); canvas.save(); // calculate x and y position where your text will be placed textX = 100; textY = 100; canvas.translate(textX, textY); mTextLayout.draw(canvas); canvas.restore(); 

Вам нужно разделить линию и разделить каждый фрагмент отдельно с увеличением y на основе высоты шрифта.

Например:

 var lines = text.split("\n"), x = 100, y = 100, fHeight = 16, // get x, y and proper font or line height here i = 0, line; while(line = lines[i++]) { canvas.drawText(line, x, y, imgPaint); y += fHeight; } 
Intereting Posts
Как установить Spinner Default по его значению вместо позиции? Хранить большой, структурированный текст в приложении для Android Android: пользовательский ListAdapter расширяет возможности BaseAdapter при запуске приложения Пакет переименования Android Studio Написание игры opengl-es в реальном времени для Android – некоторый вопрос (оптимизация) Запрос POST Android с параметрами в json Не влияет ли onClickListener на пользовательский интерфейс, пока весь код внутри него не будет запущен в Android? Генератор градиентов для android GetWidth () и getHeight () из View возвращает 0 Максимальное количество dp / dip на устройствах Android В чем разница между intel xdk, appmobi и пешеходным переходом? Как изменить значение ключа «X-request-with» в заголовках запроса запроса ресурса в веб-браузере Android, но не запрос страницы? Как сделать сбои в выпуске Grade с помощью Lint Option StopShip? Как получить позицию курсора (x, y) в EditText android Разница между ActivityUnitTestCase и ActivityInstrumentationTestCase2