I am using fromHtml
to display formatted text (bold italic etc) in TextView
. However, I found it's behaviour is different on JellyBean (4.1.2) and KitKat(4.4.2)
Here is code:
String myHtml = "<b>hello</b>😄";
Spanned spanned = Html.fromHtml(myHtml, null, null);
Here html string has 😄
which is unicode for an emoji. Now after calling fromHtml
it returns following value on KitKat (and above):
spanned = hello
add this java file in your
src
and add this font.ttf
file inassets dir
now use this like below
for more check here gitcode.
Surprisingly, root of this problem was in
Html.toHtml
which I had used to convert text inTextView
to html. I used customtoHtml
and this problem solved. I used.toHtml
written in this answer. Indeed it is great solution. I wonder how Android's originalHtml.toHtml
is so lame and defective.