设置TextView Typeface.NORMAL重置Typeface.SERIF

时间:2015-03-13 12:07:15

标签: android

在我的应用程序中,我有一个textView,用户可以在其中设置字体和fontstyle。我正在使用这一行来设置字体。

tvQuoteTextSample.setTypeface(Typeface.SERIF);

现在,我正在使用以下行设置字体样式:

tvQuoteTextSample.setTypeface(tvQuoteTextSample.getTypeface(), Typeface.ITALIC);

这很好用。我可以看到字体已更改为Serif + Italic。问题是当我将字体样式更改为“正常”时,它会丢失字体。

tvQuoteTextSample.setTypeface(tvQuoteTextSample.getTypeface(), Typeface.NORMAL);

上述行不仅将斜体重置为正常,还将SERIF重置为默认字体。

如何保留以前的字体,只需将字体样式更改为“正常”?

我正在使用API​​:min sdk version = 17 and target version = 21

1 个答案:

答案 0 :(得分:1)

如果您想以{strong>普通样式应用Typeface.SERIF,则应致电:

tvQuoteTextSample.setTypeface(Typeface.SERIF, Typeface.NORMAL);

这应该可以正常工作,因为它设置 typeFace ,而不是在与getTypeface()一起使用时更新它。