java - 如何在不更改整个文本视图颜色的情况下更改文本颜色
问题描述
我试图通过简单地单击按钮来更改文本颜色,但是当我单击按钮时,它也会更改先前键入的文本颜色。意味着改变整个文本的颜色。当我尝试通过 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"));
}
});
解决方案
让你的整个文本变成Spanable像
Spannable text = edittext.getText();
之后就做。
if (edittext.getText().length() != 0){
text.setSpan(new ForegroundColorSpan(YOUR_COLOR), selection_start, selection_end, 34);
}
推荐阅读
- python - 在 Atom 上导入 python 模块的问题
- azure - 如何监控 Azure 应用服务中的应用程序事件日志?
- javascript - 在for循环中检查父元素是否为按钮
- session - Google Script 是否有等效于 python 的 Session 对象?
- javascript - nuxtjs 应用程序商店可以是动态的吗?
- ruby-on-rails - 邪恶的 pdf 没有在动作邮件中显示图像
- c# - 如何提高此 CopyTo 方法的性能?
- reactjs - 异步方式上的 useReducer + Typescript
- python - discord.py guild.members 只返回 4 个成员而不是所有成员
- java - Springdoc中基于Swagger注解的自动描述生成