String s = "<b>Bolded text</b>, <i>italic text</i>, even <u>underlined</u>!"
TextView tv = (TextView)findViewById(R.id.THE_TEXTVIEW_ID);
tv.setText(Html.fromHtml(s));
textView.setTypeface(null, Typeface.NORMAL); // for Normal Text
textView.setTypeface(null, Typeface.BOLD); // for Bold only
textView.setTypeface(null, Typeface.ITALIC); // for Italic
textView.setTypeface(null, Typeface.BOLD_ITALIC); // for Bold and Italic
如果你想设置自定义字体:
textView.setTypeface(textView.getTypeface(), Typeface.NORMAL); // for Normal Text
textView.setTypeface(textView.getTypeface(), Typeface.BOLD); // for Bold only
textView.setTypeface(textView.getTypeface(), Typeface.ITALIC); // for Italic
textView.setTypeface(textView.getTypeface(), Typeface.BOLD_ITALIC); // for Bold and Italic
textView.setTypeface(null, Typeface.NORMAL); // for Normal Text
textView.setTypeface(null, Typeface.BOLD); // for Bold only
textView.setTypeface(null, Typeface.ITALIC); // for Italic
textView.setTypeface(null, Typeface.BOLD_ITALIC); // for Bold and Italic
TextView text = (TextView)findViewById(R.id.THE_TEXTVIEW_ID);
现在设置 textview 属性..
text.setTypeface(null, Typeface.BOLD); //-- for only bold the text
text.setTypeface(null, Typeface.BOLD_ITALIC); //-- for bold & italic the text
text.setTypeface(null, Typeface.ITALIC); // -- for italic the text
21 回答
这将是
和italic应该能够用
Typeface.DEFAULT_ITALC
替换Typeface.DEFAULT_BOLD
.让我知道它是如何工作的 .
就我而言:
1 - 设置文字
2 - 设置字体
并且如此处所述Android Developers String Resources如果您需要在样式化文本资源中使用参数,则必须转义左括号
并调用formatHtml(string)
试试这个:
由于我想使用自定义字体,因此只有几个答案的结合对我有用 . 显然我的
layout.xml
中的设置如_366798_被AOS忽略了 . 所以最后我必须做如下:在strings.xml
中,目标字符串被声明为:然后另外在代码中:
我没有尝试
Spannable
选项(我认为必须工作)但是没有效果 . 此外,如果我从
strings.xml
删除italic tag
,只留下setTypeface()
它也没有效果 . 棘手的Android ......你可以尝试这样:
尝试将此设置为
TextView
为粗体或斜体你可以做的一种方法是:
另一种选择,如果你想保留以前的字体而不想丢失先前应用的那么:
最好的方法是在
styles.xml
中定义它并在
TextView
更新它尝试通过java代码设置
TextView
样式你有两个选择:
Option 1 (仅适用于粗体,斜体和下划线):
Option 2:
使用Spannable;它更复杂,但您可以动态修改文本属性(不仅是粗体/斜体,还有颜色) .
以编程方式:
您可以使用
setTypeface()
方法以编程方式执行:下面是默认字体的代码
如果你想设置自定义字体:
XML:
您可以直接在
<TextView />
中的XML文件中设置,如下所示:或者您可以设置您的fav字体(来自资产) . 了解更多信息see link
这是配置OnePlus Slate™字体的OnePlus 5T上唯一有用的东西:
其他方法会使其在BOLD或NORMAL时回退到Roboto .
使用上述方法以编程方式设置字体 .
保留以前的字体
以编程方式:
您可以使用
setTypeface()
以编程方式执行:XML:
您可以在
<TextView />
中直接在XML文件中设置:执行此操作的标准方法是使用自定义样式 . EX-
在
styles.xml
中添加以下内容 .将此样式应用于
TextView
,如下所示 .只是如果你想制作文字 bold . 在文本视图属性的布局中写下此行
现在设置
textview
属性..使用
textView.setTypeface(Typeface tf, int style);
设置TextView的样式属性 . 有关详细信息,请参阅developer documentation .