在Android用外部类实现简单文本编辑器的字体颜色功能
时间: 2024-02-19 15:03:46 浏览: 22
可以通过使用SpannableString和ForegroundColorSpan来实现文本编辑器的字体颜色功能。以下是一个简单的示例代码:
```
public class TextEditor {
private EditText mEditText;
public TextEditor(EditText editText) {
mEditText = editText;
}
public void setColor(int color) {
int start = mEditText.getSelectionStart();
int end = mEditText.getSelectionEnd();
SpannableString spannableString = new SpannableString(mEditText.getText());
ForegroundColorSpan colorSpan = new ForegroundColorSpan(color);
spannableString.setSpan(colorSpan, start, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
mEditText.setText(spannableString);
mEditText.setSelection(start, end);
}
}
```
在这个示例中,TextEditor类接收一个EditText作为参数。setColor方法获取当前光标的位置,然后使用ForegroundColorSpan将所选文本的颜色设置为指定的颜色。最后,更新EditText的文本并将光标位置重置为所选文本的起始和结束位置。
调用setColor方法时,可以将所需的颜色作为参数传递:
```
TextEditor textEditor = new TextEditor(editText);
textEditor.setColor(Color.RED);
```
这将使所选文本的颜色变为红色。