Для стрингов - да, можно конечно в модели передавать айди строчки и зависеть от андроид Р файла, а только во вьюшке уже строчку брать. Но если там есть спанабл - я бы его конструировал в логике, а не во вьюшке, там может быть навороченная логика конструирования.
и да, и нет
если спанабл представить как тип, то будет что-то вроде:
StringValue.Spannable(Int, args, colors)
, где фронт подставит из ресурсов сначала нужные строки и отформатирует, а потом по заранее определенным правилам покрасит (имхо, такого я еще не городил)
но в проекте сейчас есть SomeClass(String, String) который на UIчике красится отдельной утилитой