Tengo dos aplicaciones de Android con una funcionalidad similar pero con distintos diseños y diagramas.¿Cómo sobrescribir los estilos definidos en un proyecto de biblioteca de Android?
Me gustaría poner todo el código y los recursos en un proyecto de biblioteca y anular algunos de los dibujos y diseños en las dos aplicaciones que harían referencia a esa biblioteca.
Creé una aplicación que hace referencia a la biblioteca. Copié todos los recursos de la biblioteca a la aplicación y cambié algunos de los dibujables. También cambié algunos de los recursos de cadena. Cuando veo uno de los diseños modificados en el editor de diseño en Eclipse, veo las imágenes anuladas correctas.
Cuando inicio la aplicación veo que los recursos de cadena que cambió en la aplicación se muestran correctamente (las cuerdas de la biblioteca son anulados por los recursos de la aplicación), pero los dibujables de mis ImageView
s son tomados de los recursos de la biblioteca
También realicé cambios en algunos de los recursos de diseño (moví y cambié el tamaño de algunas imágenes). Cuando abro una actividad que usa el diseño modificado (una actividad cuyo código fuente está en la biblioteca), veo el nuevo diseño (aplicación) con los antiguos (biblioteca) de los elementos extraíbles.
he intentado definir los dibujables de los ImageView
s de dos maneras:
en el xml diseño:
android:src="@drawable/image_id"
en el código de la actividad:
ImageView view = (ImageView)findViewById(R.id.viewId); view.setImageResource(R.drawable.image_id);
En ambos casos, la imagen que veo se toma de los recursos del proyecto de la biblioteca y no de la aplicación.
Si no logro resolver este problema, tendré que duplicar todo el código en ambas aplicaciones, lo que sería una pena.
¿Estoy haciendo algo mal?
He votado a favor de su pregunta, porque me parece muy útil, especialmente con su propia respuesta, incluida en los comentarios. Creo que el uso de sobresalientes es un enfoque tan importante como los métodos primordiales, y hace las cosas mucho más sencillas y simplificadas. No hay necesidad de ningún parámetro y codificación excesivos. – Stan