Temas descargables en Android

Actualmente estoy investigando la posibilidad de agregar soporte para skins / temas descargables en mi aplicación. Como la carpeta res no se puede cambiar en tiempo de ejecución, estoy buscando alternativas y ya llegó a algunas conclusiones.

He intentado tener 2 aplicaciones con los principales recursos de acceso a la aplicación desde el auxiliar (que tiene diferentes estilos / diseños / temas con nombres coincidentes) con métodos como:

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

o

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

Entre otros métodos relacionados con este tipo de carga "remota". Sin embargo nada de esto funcionó .

Parece que cargar recursos de otro paquete sólo funciona para recursos "directos" como drawables o strings. Mi teoría es que los estilos y temas trabajan con referencias y como tal el sistema no aplica esas referencias en el contexto actual.

La pregunta es: ¿se puede hacer esto con este enfoque o con uno similar?

Después de esto, hay el otro método … Bypass Administrador de recursos Android completamente y gestionar todo programatically. Mi principal preocupación aquí es el rendimiento, así que ¿alguien sabe qué tipo de optimizaciones se hacen con los recursos de precompilación en las aplicaciones de Android? ¿O durante el tiempo de ejecución?

Estoy empezando un proyecto con una característica similar pronto. He estado jugando con el cambio de colores y drawables programmatically y, aunque es un violín, funciona bien.

Realmente no puedo comentar sobre el rendimiento porque mi aplicación de investigación era pequeña. Lo hice funcionar con éxito con fondos de la disposición, estados del botón y fondos del hilandero / listview con estados. Estaría interesado en cualquier experiencia con fondos programados y grandes vistas de lista!

  • No se encontró ningún recurso en el archivo XML de diseño android
  • Diferencia entre getResources (R.string.hello_world) y R.string.hello_world
  • Escapar comillas simples en el recurso xml para Android
  • Cómo los recursos drawables almacenados en el dispositivo
  • Iconos de prioridad en la barra de acción
  • ¿Cómo puedo seleccionar diferentes archivos de activos como el cambio de idioma con Locale y Configuración?
  • Android: Acceso a recursos sin una actividad o referencia de contexto
  • Android: descarga la imagen desde la URL a la carpeta de activos
  • ¿Cómo puedo usar layout_width usando el archivo de recursos?
  • Alcance de los valores de R.id
  • Diferencia entre res / color y res / values ​​/ colors.xml en la carpeta de recursos de Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.