2013-07-26 1 views
12

В моем приложении я рисую текст на Android Canvas;Как рисовать курсивом текст на холсте Android?

Теперь для поддержки underline и bold Я пользуюсь краской;

Paint paint = new Paint(); 

paint.setUnderlineText(true); 
paint.setFakeBoldText(true); 

paint.setColor(color); 
paint.setTextSize (font_size); 
canvas_obj.drawText(text,x,y,paint); 

С помощью этого кода я получаю полужирный и подчеркнутый текст;

Я также хотел бы сделать это italic,

Я разрабатываю приложение для андроид 2.2 и выше.

как это сделать?

Edit:

Я устанавливаю объект Typeface, созданный с помощью внешнего файла шрифта для поддержки внешнего шрифта; Для Italic Я использую следующий код

paint.setTypeface(Typeface.create(external_font_type_face,Typeface.ITALIC)); 

Это также не работает, Проверено на Samsung Galaxy Ace (Android 2.2)

ответ

22

Вы можете использовать этот метод:

paint.setTypeface(Typeface.create(Typeface.DEFAULT, Typeface.ITALIC)); 

Это работает для меня ,

+0

Я уже использую шрифт объект (созданный с помощью внешнего файла шрифта,) в краске; Я разрабатываю приложение для Android 2.2 и далее –

+0

@Swarnendu Typeface был реализован в Android 1.5 – TN888

+0

@ Ty221 К сожалению, он не работает, установка шрифта для рисования объекта заменяет ранее установленный объект typrface на объект рисования (который был настроен на поддержку внешнего шрифта); поэтому ни я не получаю поддержку внешнего шрифта, ни курсивный текст с шрифтом по умолчанию .. :-( –

0

Используй это:

paint.setTextSkewX(-0.25f); 
+1

Хотя этот фрагмент кода может решить вопрос, [включая объяснение ] (http://meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers) действительно помогает улучшить качество вашего сообщения. Помните, что вы отвечаете на вопрос читателей в будущем, и эти люди могут не знать причин вашего предложения кода. – Isma