Эквивалентом iOS CoreText в Android являются drawText
API, часть класса Canvas, Canvas.drawText()
, Canvas.drawPosText()
и т. д. см. javadoc для Canvas для более подробной информации. Эти графические API используют Skia внизу.
Функциональные возможности, предоставляемые этими графическими API, не такие, как в iOS, скажем, нет эквивалента CTFramesetter
, который помогает вам размещать текст и обрабатывать разрывы строк для вас. С API-интерфейсами drawText
вы можете рисовать только одну строку за раз, вам придется самостоятельно обрабатывать разрывы строк. Это похоже на использование CTTypesetter
в iOS. Для размещения текста см. Paint.breakText
и Paint.measureText
.
Для изменения размера шрифта и начертания шрифта вы можете установить соответствующие атрибуты в объекте Paint
, который передается в качестве последнего параметра API-интерфейсам drawText
.
Фрагмент:
Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
paint.setTextSize(14);
String text = "Hello world!";
canvas.drawText(text, 0, 100, paint);
Примечание. Система координат, используемая в Android drawText
API, начинается с left-top
угла.
person
neevek
schedule
08.05.2012