2014-02-06 5 views
5

В настоящее время я изучаю возможность , добавляя поддержку загружаемых скинов/тем в моем приложении. Поскольку папка res не может быть изменена во время выполнения, я ищу альтернативы и уже пришел к некоторым выводам.Загружаемые темы на Android

Я пытался иметь 2 приложение с основными ресурсами доступа приложения из вспомогательной (то есть различные стили/макеты/темы с соответствующими именами) с методами, как:

Resources res = getPackageManager().getResourcesForApplication("org.example.foo"); 
res.getIdentifier("AnotherTheme", "style", "org.example.foo"); 

или

Context externalContext = createPackageContext("org.example.foo", Context.CONTEXT_IGNORE_SECURITY); 
Theme externalTheme = externalContext.getTheme(); 
getTheme().setTo(externalTheme); 

среди других методов, связанных с этим видом «удаленной» загрузки. Однако ничего этого не было.

Кажется, что загрузка ресурсов из другого пакета работает только для «прямых» ресурсов, таких как чертежи или строки. Моя теория заключается в том, что стили и темы работают со ссылками, и поэтому система не может применять эти ссылки в текущем Контексте.

Вопрос в следующем: может ли это быть сделано с помощью этого подхода или с аналогичным?

После этого есть другой метод ... Обход менеджера ресурсов Android полностью и управляйте всем программным путем. Моя главная проблема здесь в производительности, так кто-нибудь знает, какие оптимизации сделаны с предварительной компиляцией ресурсов в приложениях Android? Или во время работы?

+0

У вас есть обновление по этому вопросу, NeTeInStEiN? – Wayne

+0

В настоящее время я думаю, что это все еще остается правдой, а это означает, что на самом деле нет хорошего способа иметь загружаемые темы, не влияя на производительность IMHO. – neteinstein

ответ

0

Я начинаю проект с аналогичной функцией в ближайшее время. Я играю с изменяющимися цветами и рисунками программно, и, хотя это скрипка, она работает хорошо.

Я не могу комментировать производительность, потому что мое приложение для исследования было небольшим. Я успешно работал с макетами фона, состояниями кнопок и фреймами spinner/listview с состояниями. Был бы заинтересован в любом опыте с программно установленным фоном и большим списком просмотров!

Смежные вопросы