在我的应用程序中,我有一个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
答案 0 :(得分:1)
如果您想以{strong>普通样式应用Typeface.SERIF
,则应致电:
tvQuoteTextSample.setTypeface(Typeface.SERIF, Typeface.NORMAL);
这应该可以正常工作,因为它设置 typeFace ,而不是在与getTypeface()
一起使用时更新它。