Почему textStyle курсив не применяется в макете Android для других шрифтов, чем серифит?
Ниже приведен простой фрагмент xml, для которого android:textStyle="italic"
не применяется.
Если я удалю android:textStyle="italic
, появится текст.
<TextView
android:text="row one"
android:textSize="15pt"
android:typeface="serif"
android:textStyle="italic"
android:textColor="#00abcd"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"/>
В приведенном выше android:textStyle="italic"
работает только для android:typeface="serif"
, если я меняю шрифт на sans, monospace или normal, android:text
не отображается.
Почему это?
Ответы
Ответ 1
попробуйте сделать текст курсивом через файл строк, это альтернатива этому, может помочь вам
Пример
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="Row_one"><i>Row one</i></string>
<string name="Row_two"><i>Row two</i></string>
</resources>
Ответ 2
Я вам не помогу, но у меня такая же проблема при настройке стиля Typeface + в коде, но только на некоторых устройствах Samsung, поэтому он может быть специфичным для устройства/производителя.
int supportedStyles = Typeface.create(TypeFace.DEFAULT, Typeface.BOLD_ITALIC).getStyle();
boolean italicSupported = (supportedStyles & Typeface.ITALIC) != 0;
italicSupported всегда равно true (кроме Monospace), но на нескольких устройствах Samsung (Galaxy II, Note 8) текст не отображается курсивом. Nexus 7 в порядке, Archos 80 в порядке.