[英]fromHtml: Different behaviour on JellyBean and KitKat (and above)
我正在使用fromHtml
在TextView
顯示格式化的文本(粗體斜體等)。 但是,我發現它在JellyBean(4.1.2)和KitKat(4.4.2)上的行為不同
這是代碼:
String myHtml = "<b>hello</b>😄";
Spanned spanned = Html.fromHtml(myHtml, null, null);
此處的html字符串具有😄
這是表情符號的unicode。 現在,在從fromHtml
調用fromHtml
它將在KitKat(及更高版本)上返回以下值:
spanned = hello😄
這是相同的Android Studio屏幕截圖:
這是正常現象,因為我們可以看到相應的表情符號spanned
。
但是在JellyBean上,相同的調用返回以下值:
spanned = hello��
這是屏幕截圖:
這確實是意料之外的,這讓我發瘋。 我不知道我在做什么錯。 如果有人有想法,請您能幫忙嗎?
在您的src
添加此 java文件,並在assets dir
添加此 font .ttf
文件
現在像下面這樣使用
String myHtml = "<b>hello</b>😄";
Spanned spanned = AndroidEmoji.ensure(myHtml);
有關更多信息,請參見gitcode。
出乎意料的是,此問題的根源是我用來將TextView
文本轉換為html的Html.toHtml
。 我使用自定義toHtml
並解決了這個問題。 我用這個答案中寫的.toHtml
。 確實,這是一個很好的解決方案。 我不知道Android的原始Html.toHtml
如何如此Html.toHtml
和有缺陷。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.