Ответ Марка, как обычно, точен. Вот более полный пример для справки (это запутанная часть документации). (И да, я знаю, что этот пример не использует Button
, но это тот, который мне пригодился, и это та же идея.)
Строка должна быть ресурсом:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="mystring">
You can use regular text, and escaped HTML markup
<br /><br />
A simple BOLD example <b>StackOverflow</b>.
</string>
</resources>
Затем получите ресурс и используйте Html.fromHtml()
(если вы используете EditText
, вам также нужно убедиться, что буфер установлен в SPANNABLE):
public class MyActivity extends Activity {
TextView myTextView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.about);
myTextView = (TextView) this.findViewById(R.id.mytextview);
myTextView.setText(Html.fromHtml(getResources().getString(R.string.mystring)),
TextView.BufferType.SPANNABLE);
}
...
Наконец, обратите внимание, что весь HTML, конечно, не работает. Поэтому, в зависимости от ваших требований, это может быть не совсем полезным. См. Также эту проблему , если вы пытаетесь использовать ссылку (тег привязки) и хотите, чтобы она реагировала на нажатие. Для простых вещей, см. Linkify .