#java #android #android-edittext
Вопрос:
Я создаю приложение для текстового редактора, в котором у пользователя есть возможность писать текст несколькими цветами. Я реализовал функцию изменения цвета выделенного текста. Теперь я хочу реализовать функцию, в которой пользователь может выбрать цвет для написания текста в этом цвете, не меняя цвет предыдущего текста. Проблема, с которой я сталкиваюсь, заключается в том, что всякий раз, когда я выбираю цвет, используя text.setTextColor(color);
весь цвет редактируемого текста, меняется на этот цвет. Я изменяю цвет выделенного текста с помощью следующего кода.
private void setColor(int color) { int startSelection = text.getSelectionStart(); int endSelection = text.getSelectionEnd(); Spannable str = text.getText(); ForegroundColorSpan foregroundSpan = new ForegroundColorSpan(color); if (startSelection gt; endSelection) { str.setSpan(foregroundSpan, endSelection, startSelection, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); text.setSelection(endSelection,startSelection); } else { str.setSpan(foregroundSpan, startSelection, endSelection, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); text.setSelection(startSelection,endSelection); } }