如何使用html突出显示某些文本?

时间:2019-07-10 12:14:38

标签: android

工作完美,但 当我使用html突出显示文本时,则某些文本无法完美显示(印地语文本)。

android

Cannot open include file: 'libbfio_definitions.h'. Have already reinstalled Visual Studio 2017 and 2015.

screen

1 个答案:

答案 0 :(得分:0)

为什么将String转换为html以将fontcolor应用于静态文本?

您必须执行以下步骤:

  1. 在Strings.xml中为每个文本创建条目。举例来说, 颜色不同,需要单独输入 strings.xml。
  2. 将此添加到Util类:

    public static void addColoredPart(SpannableStringBuilder ssb,
                                   String word, int color,String... texts) {
    
    for(String text : texts) {
        if (word != null) {
            int idx1 = text.indexOf(word);
            if (idx1 == -1) {
                return;
            }
            int idx2 = idx1 + word.length();
            ssb.setSpan(new ForegroundColorSpan(color), idx1, idx2, 
            Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
        }
     }
    }
    
  3. 通过以下方式应用样式:

    String string1 = context.getString(R.string.String_id1)
    String string2 = context.getString(R.string.String_id2)
    SpannableStringBuilder spannableStringBuilder = new SpannableStringBuilder();
    spannableStringBuilder.append(string2)
    spannableStringBuilder.append(string2)
    SpannableUtil.addColoredPart(
                        spannableStringBuilder,
    spannableStringBuilder.toString(), color, string1, string2);