2016-07-19 11 views
1

構文の強調表示でEditTextを作成するには?準備ができたソリューションはありますか? 私のように挿入するHTMLタグは、最良の選択肢ではありません、アプリは遅くなります。Android:構文のハイライト表示の編集テキスト

+2

http://stackoverflow.com/questions/11987660/android-syntax-highlightingこれをチェックしてください –

答えて

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

参照さfrom

1

あなたは、このように使用することができます。、

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

これを試してみてください、これが役に立つかもしれません。

関連する問題