Android:EditText带有语法高亮显示
如何使EditText具有语法突出显示?有现成的解决方案吗?Android:EditText带有语法高亮显示,android,android-edittext,highlighting,Android,Android Edittext,Highlighting,如何使EditText具有语法突出显示?有现成的解决方案吗? 在我看来,插入HTML标签并不是最好的选择,应用程序会变慢。你能这样使用吗 editText.addTextChangedListener(new TextWatcher() { final String FUNCTION = "function"; @Override public void beforeTextChanged(CharSequence s, int start, int count, int
在我看来,插入HTML标签并不是最好的选择,应用程序会变慢。你能这样使用吗
editText.addTextChangedListener(new TextWatcher() {
final String FUNCTION = "function";
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {}
@Override
public void afterTextChanged(Editable s) {
int index = s.toString().indexOf(FUNCTION);
if (index >= 0) {
s.setSpan(
new ForegroundColorSpan(Color.CYAN),
index,
index + FUNCTION.length(),
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
}
}
});
请试试这个,这可能会有帮助
editText.addTextChangedListener(new TextWatcher() {
final String FUNCTION = "function";
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {}
@Override
public void afterTextChanged(Editable s) {
int index = s.toString().indexOf(FUNCTION);
if (index >= 0) {
s.setSpan(
new ForegroundColorSpan(Color.CYAN),
index,
index + FUNCTION.length(),
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
}
}
});
参考检查此项