how do I use html in an android widget Button?
You should be able to use Html.fromHtml()
to convert raw HTML into a Spanned
object that you can use in a setText()
call on your button. As the Html
documentation states, "Not all HTML tags are supported".
Mark's answer is spot on, as usual. Here is a more complete example for reference though (this is a confusing part of the docs). (And, yes, I know this example isn't using a Button, but this is the one I had handy, and it's the same idea.)
String needs to be a resource:
<?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>
Then get the resource and use Html.fromHtml() (if you are using a TextEdit, you also need to make sure the buffer is set to 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);
}
. . .
Lastly, note that all HTML doesn't work, of course. So depending on your requirements, this might not be entirely useful. Also see this issue if you try to use a link (anchor tag) and you want it to respond to being clicked. (Also, for simple stuff, see Linkify.)