android Html.fromHtml()每次都不会给出突出显示的文本

时间:2016-08-18 10:01:43

标签: android html

当我在android中使用Html.fromHtml()时,它会为我提供突出显示的文本,但仅限于几种颜色。基本上它返回红色,蓝色,绿色和栗色的突出显示文本。它不适用于所有颜色,如黄色和其他颜色。谁能回答为什么会这样?我正在使用Html.fromHtml()将突出显示的颜色设置为textview

    TextView tv=(TextView) findViewById(R.id.mytext);

    tv.setText(Html.fromHtml("<font color='red'>highlight this </font>")); //This works
    tv.setText(Html.fromHtml("<font color='yellow'>highlight this </font>")); //This does not work

我创建了一个Android库,它可以获取单词并用不同的颜色突出显示每个单词,但它不适用于所有颜色。

1 个答案:

答案 0 :(得分:-1)

尝试使用Spannable,请检查以下代码

    String msg = "Delivery available at pincode: ";
    SpannableString ss = new SpannableString(msg);
    ClickableSpan span1 = new ClickableSpan() {
        @Override
        public void onClick(View textView) {
           // 
        }

        @Override
        public void updateDrawState(TextPaint ds) {
            super.updateDrawState(ds);           
            ds.setColor(Color.BLACK);
            // or use any color code 
            ds.setColor(Color.parseColor("#d84c4c"));
            ds.setUnderlineText(false);

        }
    };


  ss.setSpan(span1, 0, msg.length() - 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

  mPincode.setText(ss);

现在我只添加了一个跨度,你可以在一个句子中添加多个跨度,并通过指定句子中字母的开始和结束位置来给出不同的样式和动作。