Я бы хотел, чтобы в моем приложении было несколько скинов. Моя основная цель состояла не в том, чтобы позволить пользователю изменить скин, а в том, чтобы я мог настроить скин для каждого клиента.
Используя стили и темы, я могу отделить информацию о скинах от макета. Он работает как шарм, но ему нужно, чтобы все скины и все их ресурсы (включая точные растровые изображения) включали приложение, которое выглядит как пустая трата драгоценного пространства, так как создается больше скинов.
Существует способ создать скрипт автоматической сборки (ant) и позволить ему решать, что включать, но по некоторым другим причинам это не является предпочтительным.
Я видел несколько приложений на рынке, которые используют отдельные файлы темы (загружаемые и устанавливаемые отдельно), поэтому я предполагаю, что перемещение этой информации в отдельный APK может быть достигнуто.
Я дошел до того, что разрешил моему приложению и поставщику скинов apk иметь один и тот же UserID, чтобы иметь больше свободного доступа друг к другу, но все еще не знает, как получить ресурсы.
Поставщик контента может быть решением, но с затратами на перенос информации макета обратно в код из XML и наличием слоя плюс с некоторыми проблемами производительности, не рекомендуется для исключительно визуального эффекта.
Какова лучшая практика для этой проблемы?
Еще одна важная информация: мне нужно использовать API уровня 7 (2.1), поэтому решения, работающие только в API более высокого уровня, выходят за рамки.