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

tvQuoteTextSample.setTypeface(Typeface.SERIF);


现在,我使用此行设置字体样式:

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


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

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


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

如何保留以前的字体并将字体样式更改为“普通”?

我正在使用API​​:最低SDK版本= 17,目标版本= 21

最佳答案

如果要以普通样式应用Typeface.SERIF,则应调用:

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


当它设置typeFace而不是与getTypeface()一起更新时,它应该可以正常工作。

07-26 09:32