我在string.xml
中定义了一个字符串,如
<string name="eventtitle">Title: %1$s </string>
使用string.format
格式化。如何定义字符串以仅获取 Titel:as Bold。
提前感谢您的帮助
答案 0 :(得分:21)
你可以这样做,
textView.setText(Html.fromHtml("<b>Title</b>: Text"));
如果你有动态的文字..
要在Strings.xml中定义格式化,你可以这样做,
<string name="text1">This text uses <b>bold</b> and <i>italics</i>
by using inline tags such as <b> within the string file.</string>
参见 This Link
答案 1 :(得分:7)
现在,Android得到了合理的支持。
您可以将xml中的字符串定义为<string name="text_to_show">Hey <b>This is in bold</b>
然后在代码中,使用它转换为CharSequence,然后将其用于例如TextView
String text = getResources().getString(R.string.text-to_show);
CharSequence styledText = Html.fromHtml(text);
textview.setText(styledText);
答案 2 :(得分:5)
您可以使用"<b>BOLD</b> other text ..."
等HTML标记
有关详细信息,请参阅this Google resource。
答案 3 :(得分:2)
您必须在显示输入的TextView中设置字符串的样式。见link
答案 4 :(得分:0)
Typeface tfaerial=Typeface.createFromAsset(getAssets(),"fonts/aerial.ttf");
Typeface tfTradeGothicLight=Typeface.createFromAsset(getAssets(), "fonts/TradeGothic-Light.OTF");
String strt_title_desc=this.getResources().getString(R.string.eventtitle);
int upto=strt_title_desc.indexOf(":");
//您可以指定5
if (strt_title_desc!=null)
{
aboutAuthTV.setTextColor(Color.BLACK);
aboutAuthTV.setLineSpacing(1.2f, 1.5f);
aboutAuthTV.setTextSize(23);
SpannableString SS = new SpannableString(strt_title_desc);
SS. setSpan ( new StyleSpan(tfTradeGothicLight.getStyle()), 0, upto,Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
SS. setSpan ( new StyleSpan(tfaerial.getStyle()), upto, strt_dialog_desc.length(),Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
yourtextView.setText(SS);
}
//这用于更改字体大小,样式和颜色
String str="<font size =\"20\"><B>Bold</B> <br/> Then Normal Text<br/>
<i>Then Italic</i> </font>" +
"<br/> <font color=\"green\" >this is simple sentence </font>" +
"<br/><br/><br/><br/><a>this is simple sentence</a>";
Spanned strHtml= Html.fromHtml(str);
TextView tv = (TextView)findViewById(R.id.textView);
tv.setText(strHtml);
答案 5 :(得分:0)
实际上,许多答案已过时。经过我自己的研究,我发现最好的答案是@Wahib。这是改进的版本:
将字符串资源定义为:
<string name="styled_text">Hey, <b>this is bold</b> text</string>
像这样使用资源:
String text = getResources().getString(R.string.styled_text);
CharSequence styledText = HtmlCompat.fromHtml(text, HtmlCompat.FROM_HTML_MODE_LEGACY);
textview.setText(styledText);
结果如下:
答案 6 :(得分:-1)
现在,Android得到了合理的支持。