Android: 带语法高亮的 EditText

Android: EditText with syntax highlighting

如何制作带语法高亮的EditText?有现成的解决方案吗? 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);
        }
    }
});

引用 from