BulletSpan 颜色和间距
BulletSpan color and gap
我必须使用 Android 在 TextiView 中处理一些 RichText。我遇到的问题是我需要设置一个列表样式,这意味着添加一个项目符号和一个间隙。为此,我通过实现 HTML.TagHandler 接口来解析我的 richText。这是我的 bullet/gap:
代码
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 上,我的子弹是黑色的,没有间隙,而在其他一些上,我的子弹颜色和间隙都正确。
我在 Android 6.0 的 Nexus 5 上试过,它工作正常,而在 Android 7.0 的 OnePlus5 上却不行。
所以我想知道是否有解决方案可以让它在所有设备上工作并具有相同的渲染?
问题已解决: 某些 Android 版本似乎无法检测到带有 HTML.tagHandler 的 ul/li 标签。我找到的解决方法是用自定义标签替换所有 ul/li。这些自定义标签由 tagHandler 检测。
我必须使用 Android 在 TextiView 中处理一些 RichText。我遇到的问题是我需要设置一个列表样式,这意味着添加一个项目符号和一个间隙。为此,我通过实现 HTML.TagHandler 接口来解析我的 richText。这是我的 bullet/gap:
代码 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 上,我的子弹是黑色的,没有间隙,而在其他一些上,我的子弹颜色和间隙都正确。 我在 Android 6.0 的 Nexus 5 上试过,它工作正常,而在 Android 7.0 的 OnePlus5 上却不行。 所以我想知道是否有解决方案可以让它在所有设备上工作并具有相同的渲染?
问题已解决: 某些 Android 版本似乎无法检测到带有 HTML.tagHandler 的 ul/li 标签。我找到的解决方法是用自定义标签替换所有 ul/li。这些自定义标签由 tagHandler 检测。