Я хочу несколько раз изменить цвет частей текста с помощью таймера.
Самый простой способ:
SpannableStringBuilder ssb = new SpannableStringBuilder(mainText);
ForegroundColorSpan span = new ForegroundColorSpan(Color.BLUE);
ssb.setSpan(span, start, end, 0);
tv.setText(ssb);
Но если я запустил вышеуказанный код несколько раз в секунду, я фактически изменяю весь (большой) текст TextView
каждый раз, так что загрузка нежелательной памяти-ЦП будет происходить конкретно на устройствах нижнего уровня.
Как я могу установить один Span
на TextView
и изменить только начальную и конечную позиции Span
?
Будет ли это работать вообще или полная замена текста произойдет за сценой?
Мой текст исправлен и не изменится никогда.