我必须在Android的TextiView中处理一些RichText。我遇到的问题是我需要设置一个列表样式,这意味着添加一个子弹和一个间隙。为此,我通过实现HTML.TagHandler接口来解析我的richText。这是我的子弹/差距代码:
if (!opening && tagOpened(tag))
{
int start = tagOpeningPosition(tag);
if (start < output.length())
{
if (!Tags.UL.equals(mPreviousTag))
{
output.append("\n");
}
output.append("\n");
output.setSpan(new LeadingMarginSpan.Standard(35, 35), start, output.length(), 0);
output.setSpan(new BulletSpan(0, Color.parseColor("#D4007A")), start, output.length(), 0);
}
}
问题在于,在一些机器人上,我有一个黑色的子弹,没有间隙,而在其他一些,我的子弹有正确的颜色和差距。 我尝试使用Android 6.0的Nexus 5并且它正在使用,而在使用Android 7.0的OnePlus5上则没有。 所以我想知道是否有解决方案使其适用于每个设备并具有相同的渲染?
答案 0 :(得分:1)
问题已解决:有些Android版本似乎没有使用HTML.tagHandler检测ul / li标记。我找到的解决方法是用自定义标签替换所有ul / li。 tagHandler会检测到这些自定义标记。