Android Typeface.ITALIC不适用于Galaxy注释2

Android Typeface.ITALIC不适用于Galaxy注释2,android,fonts,galaxy,samsung-mobile,italics,Android,Fonts,Galaxy,Samsung Mobile,Italics,我正在制作一个应用程序,有时我想根据要显示的数据将textview的字体更改为斜体 在我的Galaxy Nexus上,这只是一个 textView.setTypeface(font, iWantItalics ? Typeface.ITALIC : Typeface.NORMAL); 而且它工作得很漂亮 问题是我有一个新的Galaxy Note II要测试。。。没有,没有斜体字 阅读时,我得到的印象是,这是便笺Android版本上的一个bug,所以Roboto字体没有斜体。我已经尝试了关于该线

我正在制作一个应用程序,有时我想根据要显示的数据将textview的字体更改为斜体

在我的Galaxy Nexus上,这只是一个

textView.setTypeface(font, iWantItalics ? Typeface.ITALIC : Typeface.NORMAL);
而且它工作得很漂亮

问题是我有一个新的Galaxy Note II要测试。。。没有,没有斜体字

阅读时,我得到的印象是,这是便笺Android版本上的一个bug,所以Roboto字体没有斜体。我已经尝试了关于该线程和其他类似线程的所有建议(
Typeface.defaultFromStyle(Typeface.ITALIC)
Typeface.create(null,Typeface.ITALIC)
,等等),但运气不佳

我的问题是,该线程使用的解决方案是复制
资产
目录中的Roboto TTF,并从那里创建字体,但对于手机中使用另一种默认字体的人呢?我不想强迫他们使用Roboto字体,或者更糟糕的是,当字体是普通字体,而不是Roboto斜体字体时,使用其他字体


有人对我有什么想法吗?谢谢。

作为此错误的解决方法,您可以将文本设置为斜体(这似乎适用于损坏的三星设备):

您需要这种方法:

public static CharSequence setTextStyleItalic(CharSequence text) {
    final StyleSpan style = new StyleSpan(Typeface.ITALIC);
    final SpannableString str = new SpannableString(text);
    str.setSpan(style, 0, text.length(), 0);
    return str;
}

另一个简单的解决方案是这样做:

myTextView.setText(Html.fromHtml("<i>" + myString + "</i>"));
myTextView.setText(Html.fromHtml(“+myString+”));

我创建了您引用的问题。不管它值多少钱,我从来没有找到任何其他方法来处理不能正常工作的设备。为这个坏消息感到抱歉。我真的希望有人能拿出更好的解决方案,但是=)在如此高端和全新的设备中出现如此愚蠢的错误真是难以置信,不是吗?我在三星论坛上引起了一位开发者的注意,所以有希望。:)在我的三星Galaxy标签2上,它也不起作用。@thomaus看到我的答案了,也许这对你也有帮助!工作起来很有魅力。干得好!
myTextView.setText(Html.fromHtml("<i>" + myString + "</i>"));