Потрясающие ответы!Я смог использовать Spannable для создания текста цвета радуги (так что это можно повторить для любого массива цветов).Вот мой метод, если он кому-нибудь поможет:
private Spannable buildRainbowText(String pack_name) {
int[] colors = new int[]{Color.RED, 0xFFFF9933, Color.YELLOW, Color.GREEN, Color.BLUE, Color.RED, 0xFFFF9933, Color.YELLOW, Color.GREEN, Color.BLUE, Color.RED, 0xFFFF9933, Color.YELLOW, Color.GREEN, Color.BLUE, Color.RED, 0xFFFF9933, Color.YELLOW, Color.GREEN, Color.BLUE};
Spannable word = new SpannableString(pack_name);
for(int i = 0; i < word.length(); i++) {
word.setSpan(new ForegroundColorSpan(colors[i]), i, i+1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
}
return word;
}
И тогда я просто устанавливаю текст (buildRainboxText (имя_пакета));Обратите внимание, что все слова, которые я передаю, имеют длину менее 15 символов, и это просто повторяет 5 цветов 3 раза - вам нужно настроить цвета / длину массива для вашего использования!