2009-09-28 52 views
1

我尝试在textview中显示斜体文本。 我使用方法TypeFace.defaultFromstyle(TypeFace.ITALIC),但它不起作用,文本的样式未设置为斜体。 如果我在defaultFromstyle()的返回值上调用getStyle()方法,它将返回0. 任何想法?android italic字体

回答

20

使用来自Java代码的setTypeface(Typeface)或来自XML布局的android:textStyle。如果你想让你所有的文字都是斜体,他们应该这样做。

编辑: 在这种情况下,我会认为您的字体默认情况下不具有斜体样式。从setTypeface(Typeface)方法的文档:

设置应显示文本的字体和样式。请注意,并非所有字体系列实际上都有粗体和斜体变体,因此您可能需要使用setTypeface(Typeface, int)才能获得您实际需要的外观。

你使用自定义字体吗?尝试

mTextView.setTypeface(Typeface.defaultFromStyle(Typeface.ITALIC), Typeface.ITALIC) 
+1

这正是我做什么。 这是我的代码:myTextView.setTypeface(TypeFace.defaultFromstyle(TypeFace.ITALIC)); 但它不起作用。铌:如果我使用TypeFace.BOLD,这一切都可以。 – Arutha 2009-09-29 07:28:18

+0

是的!这是有效的,但我不明白为什么......我使用自定义字体,它应该有斜体变体! – Arutha 2009-09-29 13:26:05

1

从上TextView中的文档......

公共无效setTypeface(TF字样,INT风格) 自:API等级1

设置字体和样式,其中文本应将被显示,并且会打开Paint中的假粗体和斜体位,前提是您提供的字体没有指定样式中的所有位。

1

这应该是所有:

textView.setTypeface(null, Typeface.BOLD_ITALIC); 
    textView.setTypeface(null, Typeface.BOLD); 
    textView.setTypeface(null, Typeface.ITALIC);