我的 string.xml :
<!--I try to bold my argument %s, like below:-->
<string name="hello">Hello to: <b>%s</b> !</string>
我的布局 main.xml :
<LinearLayout
...>
<TextView
android:id="@+id/hello_txt"
...
.../>
</LinearLayout>
我的片段类:
public class MyFragment extends Fragment{
TextView helloTxt;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
super.onCreateView(inflater, container, savedInstanceState);
helloTxt = (TextView) findViewById(R.id.hello_txt);
}
@Override
public void onStart() {
super.onStart();
//pass "Monday" as the argument to my string
helloTxt.setText(String.format(getString(R.string.hello), "Monday"));
}
}
当我在我的设备上运行我的应用程序时,我在屏幕上显示“ Hello to:Monday!”,但“ Monday ”不是粗体,但我在 string.xml 中使用了<b>
。为什么不大胆?
答案 0 :(得分:2)
试试这个:
String.xml:
<string name="hello">Hello to: <b>%s</b>.</string>
在您的活动中:
TextView mytext1 = (TextView) findViewById(R.id.tx1);
mytext1.setText(Html.fromHtml(String.format(getString(R.string.hello), "Monday")));
它对我有用。
希望它对你有所帮助。
感谢。
答案 1 :(得分:1)
使用Html.fromHTML()方法
String str = HTML.fromHTML(String.format(getString(R.string.hello), "Monday"));
helloTxt.setText(str);
答案 2 :(得分:0)
如果您使用html
标记,那么您需要使用Html.fromHtml
,如下所示:
String styledText = "This is <font color='red'>simple</font>.";
textView.setText(Html.fromHtml(styledText), TextView.BufferType.SPANNABLE);