Устройства Samsung, поддерживающие setTypeface (Typeface.Italic )?

У меня есть приложение, использующее пользовательский компонент View, который рисует текст на экране с помощью Paint/ Холст.

Я использую следующий код (перед вызовом canvas.drawText ()), чтобы выделить текст курсивом:

mPaintText.setTypeface(Typeface.defaultFromStyle(Typeface.ITALIC));

Это работает на Samsung Galaxy Nexus. Но на Samsung Epic 4g (galaxy S ), Samsung Epic Touch (Galaxy SII )и Samsung Transform ultra мой текст по-прежнему не -курсив.

Кто-нибудь знает, почему некоторые из этих устройств Samsung не поддерживают выделение текста курсивом таким образом? Я знаю, что устройства способны отображать текст курсивом, потому что если у меня есть TextView, я могу использовать либо

tv.setText(Html.fromHtml("<i>sometext</i>");

в java, либо

android:textStyle="italic"

в layout.xml, и мой текст отображается курсивом.

Кто-нибудь знает другой способ, которым я могу установить метод drawText ()холста для рисования текста, выделенного курсивом, который может работать на этих устройствах?

РЕДАКТИРОВАТЬ:

Вот список некоторых способов, которые я пробовал, с их результатами в комментариях после. Оказывается, SERIF — единственный шрифт, с которым он работает.

mPaint.setTypeface(Typeface.create(Typeface.DEFAULT, Typeface.ITALIC) //Nothing
mPaint.setTypeface(Typeface.create(Typeface.DEFAULT_BOLD, Typeface.ITALIC) //Nothing
mPaint.setTypeface(Typeface.create(Typeface.SERIF, Typeface.ITALIC) //omg it is italic...But serifs look gross.
mPaint.setTypeface(Typeface.create(Typeface.SANS_SERIF, Typeface.ITALIC) //Nothing
mPaint.setTypeface(Typeface.create(Typeface.MONOSPACE, Typeface.ITALIC) //Changes font, but still no italic.
mPaint.setTypeface(Typeface.create(Typeface.DEFAULT, Typeface.BOLD_ITALIC) //Bold but no italic

РЕДАКТИРОВАТЬ СНОВА:Чтобы сделать эту функцию, я добавил курсивную версию шрифта roboto в папку с ресурсами и применил ее как шрифт. Мне все еще было бы интересно, если кто-нибудь когда-нибудь найдет способ заставить его работать, не добавляя его таким образом.

11
задан FoamyGuy 7 June 2012 в 13:10
поделиться