【发布时间】:2017-02-17 04:47:43
【问题描述】:
TextView 显示在一个活动中,用户转到另一个活动以编辑文本的属性,例如颜色、大小、粗体、斜体和下划线。当用户选择使文本变为粗体、斜体或粗体斜体时,它会起作用。如果用户取消选中该复选框,则 TextView 不会恢复正常。它可以在样式之间切换(即,如果我选中粗体,然后取消选中粗体并选中斜体,TextView 将是斜体,而不是粗体),但它不能具有正常的 TypeFace。
我四处搜索,我发现的所有内容都表明使用带有 Typeface.NORMAL 的 setTypeface 方法应该可以工作,但它不起作用。
我希望能在解决这个问题上提供一些帮助。相关代码如下。谢谢!
TextView mDisplayMessage = (TextView) findViewById(R.id.message);
mDisplayMessage.setTypeface(mDisplayMessage.getTypeface(), Typeface.NORMAL);
//TODO: Cannot return all the way back to normal. Remains bold/italic/bold_italic
if (mIsBold && mIsItalic) mDisplayMessage.setTypeface(mDisplayMessage.getTypeface(), Typeface.BOLD_ITALIC);
else if (mIsBold) mDisplayMessage.setTypeface(mDisplayMessage.getTypeface(), Typeface.BOLD);
else if (mIsItalic) mDisplayMessage.setTypeface(mDisplayMessage.getTypeface(), Typeface.ITALIC);
else mDisplayMessage.setTypeface(mDisplayMessage.getTypeface(), Typeface.NORMAL);
if (mIsUnderlined) {
mDisplayMessage.setPaintFlags(mDisplayMessage.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);
} else {
mDisplayMessage.setPaintFlags(0);
}
【问题讨论】:
标签: android textview android-typeface