2016-07-19 25 views
1

Wie man EditText mit Syntaxhervorhebung macht? Es gibt fertige Lösungen? HTML-Tags einfügen, wie es mir scheint, ist nicht die beste Option, die App wird langsamer.Android: EditText mit Syntaxhervorhebung

+2

prüfen diese http://stackoverflow.com/questions/11987660/android-syntax-highlighting –

Antwort

2
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

1

Können Sie wie folgt verwenden.,

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

bitte diese versuchen, dies kann hilfreich sein.