gc986
gc986

Reputation: 756

Android: EditText with syntax highlighting

How to make EditText with syntax highlighting? There are ready solutions? HTML tags to insert as it seems to me, is not the best option, the app will slow down.

Upvotes: 3

Views: 2494

Answers (2)

Dishant Anand
Dishant Anand

Reputation: 362

  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);
        }
    }
});

Refered from

Upvotes: 7

sankar ganesh
sankar ganesh

Reputation: 133

Can you use like this .,

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);
        }
    }
});

please try this , this may be helpful .

Upvotes: 0

Related Questions