android - ImageSpan 在某些 API 级别中在图像上方添加空间
问题描述
我使用 将 HTML 字符串转换为 spannable HtmlCompat.fromHtml(...)
,ImageGetter
我使用的只是使用 Glide 下载图像。通过ContextCompat.getDrawable(...)
用于比较,它确实给出了相似的结果。
在 API 级别 16 的模拟器中,它正确显示如下:
然而,在 API 级别 28 的模拟器中,它会在图像上方提供额外的空间,如下所示:
有人能帮我解决这个不一致的问题吗?谢谢你。
代码片段
val spanned = HtmlCompat.fromHtml(html, HtmlCompat.FROM_HTML_MODE_LEGACY, Html.ImageGetter {
ContextCompat.getDrawable(context, drawableResId)?.apply {
setBounds(0, 0, intrinsicWidth, intrinsicHeight)
}
}, tagHandler)
解决方案
推荐阅读
- hash - 如果输入已经是 N x 512 位,SHA-256 是否仍然需要附加位?
- python-3.x - 如何使用 Python 在数学和文本环境之间拆分 LaTeX 文件
- vuejs2 - 如何使用 VueJS2 在 HTML 表格中显示对象键?
- python - 如何使用 filecmp 删除重复文件?
- java - java.lang.NoSuchMethodError:apache-storm bolt 中的spring get-request
- c# - 如何检索 Azure blob 的内容?
- vue.js - 吐司不明
- javascript - 在检查项目尚不存在的条件后尝试在 Firestore 集合中添加项目。如果确实增加了其他数量
- swift - Swift 中的动画条形图
- arrays - 为什么映射到一个对象只给我最后一项?