TextView 雙下劃線 / 下劃線粗細不同 bug解決

解決方案:

不要爲 textView 添加下劃線 paintFlag,改用 SpannableStringBuilder 或 Spanny 爲文字添加下劃線,這樣下劃線會統一到文字底fontMetrics.descent位置

爲何有此問題?

實測發現,直接爲 TextPaint 添加 Paint.UNDERLINE_TEXT_FLAG 標記是有兼容問題的,當同一行文字中同時存在中文和 英文/數字/英文符號 時

1、可能會出現兩條下滑線(Huawei LLD-AL00),一條是英文的下劃線,一條是中文的下劃線。英文的下劃線在文字底fontMetrics.descent位置,但中文的下劃線卻在行底部fontMetrics.bottom位置。

2、可能下劃線變粗(小米9),猜測是設備做了適配,但兩條下劃線沒有完全重合,只是捱到了一起,看起來粗了。

發佈了48 篇原創文章 · 獲贊 30 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章