У меня есть два приложения для Android с аналогичной функциональностью, но разными чертежами и макетами.
Я хотел бы поместить весь код и ресурсы в проект библиотеки и переопределить некоторые чертежи и макеты в двух приложениях, которые будут ссылаться на эту библиотеку.
Я создал приложение, которое ссылается на библиотеку. Я скопировал все ресурсы из библиотеки в приложение и изменил некоторые чертежи. Я также изменил некоторые строковые ресурсы. Когда я просматриваю один из измененных макетов в редакторе макетов в Eclipse, я вижу правильные переопределенные изображения.
Когда я запускаю приложение, я вижу, что строковые ресурсы, которые я изменил в приложении, отображаются правильно (строки библиотеки переопределяются ресурсами приложения), но все чертежи моих ImageView
берутся из ресурсов библиотеки.
Я также внес изменения в некоторые ресурсы макета (переместил и изменил размер некоторых изображений). Когда я запускаю действие, которое использует измененный макет (действие, исходный код которого находится в библиотеке), я вижу новый макет (приложения) со старыми (библиотекой) чертежами.
Я попытался определить чертежи ImageView
двумя способами:
в макете xml:
android:src="@drawable/image_id"
в коде действия:
ImageView view = (ImageView)findViewById(R.id.viewId); view.setImageResource(R.drawable.image_id);
В обоих случаях изображение, которое я вижу, взято из ресурсов проекта библиотеки, а не приложения.
Если мне не удастся решить эту проблему, мне придется дублировать весь код в обоих приложениях, что было бы обидно.
Я делаю что-то неправильно?