首页 > 解决方案 > 如何在不更改整个文本视图颜色的情况下更改文本颜色

问题描述

我试图通过简单地单击按钮来更改文本颜色,但是当我单击按钮时,它也会更改先前键入的文本颜色。意味着改变整个文本的颜色。当我尝试通过 Spannable 更改颜色时,它会更改所选文本部分的颜色,但不会更改我接下来要输入的文本。有没有一种方法可以让我点击按钮,它不会改变整个文本的颜色,而是改变我接下来输入的颜色。谢谢

在此处输入图像描述

这是我只知道的

redtxt.setOnClickListener(new View.OnClickListener() {
       @Override
       public void onClick(View view) {
            str.setSpan(new ForegroundColorSpan(Color.parseColor(txtColor)),     selStart, selEnd, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
               text.setTextColor(Color.parseColor("#d32f2f"));
       }
   });

标签: javaandroideclipse

解决方案


让你的整个文本变成Spanable

Spannable text = edittext.getText();

之后就做。

if (edittext.getText().length() != 0){
     text.setSpan(new ForegroundColorSpan(YOUR_COLOR), selection_start, selection_end, 34);
}

推荐阅读