【发布时间】:2016-12-29 14:14:54
【问题描述】:
我的应用中有一个文本视图和两个微调器。一个微调器选择字体(默认/衬线/等宽)。另一个微调器选择字体样式(Normal/Bold/Italic/Bold Italic)。
这是我的代码:
tvQuoteTextSample = (TextView)findViewById(R.id.preview_QuoteText);
从字体微调器设置字体:
switch(selectedTypeFace)
{
case "Serif":
tvQuoteTextSample.setTypeface(Typeface.SERIF);
break;
case "Monospace":
tvQuoteTextSample.setTypeface(Typeface.MONOSPACE);
break;
default:
tvQuoteTextSample.setTypeface(Typeface.DEFAULT);
break;
}
从字体样式微调器设置字体样式:
switch (fontStyle) {
case "Bold":
tvQuoteTextSample.setTypeface(null, Typeface.BOLD);
break;
case "Italic":
tvQuoteTextSample.setTypeface(null, Typeface.ITALIC);
break;
case "Bold Italic":
tvQuoteTextSample.setTypeface(null, Typeface.BOLD_ITALIC);
break;
default:
tvQuoteTextSample.setTypeface(null, Typeface.NORMAL);
break;
}
当我应用 fontStyle 微调器时,应用的字体重置为默认值。同样,当我应用 TypeFace 时,fontStyle 会重置为 Normal。
我希望两个微调器一起工作。即一个微调器的输出将应用于 textView 而不会重置以前的样式。如何做到这一点?
【问题讨论】:
-
两个后续的
setTypeFace()指令相互覆盖 似乎非常明显。不是吗? -
是的 :-) 我明白为什么会这样。但我需要知道的是如何使它工作:(
标签: android