Перезаписать PNG патчем 9 и наоборот

У меня есть проект библиотеки с несколькими проектами приложений, использующими его. Некоторым проектам приложений требуются файлы PNG для некоторых рисунков (например, фонового изображения) из-за того, что изображение повторяется (например, равномерно расположенные вертикальные полосы) или не будет выглядеть хорошо, если края растягиваются. Другие проекты приложений имеют сплошной фон, который можно было бы использовать в качестве изображений 9 патчей.

Образец структуры проекта

Библиотека
--res
----drawable-xxxx
------background.png
------some_image.9.png

OtherProject
--res
----drawable-xxxx
------background.9.png
------some_image.png

Однако, если я попытаюсь добавить 9 изображений исправлений в один из проектов, я получу ошибку времени компиляции, что у меня есть дубликаты ресурсов с тем же именем. Есть ли простой способ обойти это без необходимости переопределять фоновый файл в каждом продукте (что было бы не очень удобно)?


person cren90    schedule 26.06.2014    source источник
comment
Переименуйте изображение и запрограммируйте его, чтобы выбрать, какое из них использовать (возможно, с помощью вызова функции приложением, использующим библиотеку). У вас не может быть 2 ресурсов с одинаковым именем файла, или он не знает, какой из них выбрать.   -  person Gabe Sechan    schedule 26.06.2014
comment
Имейте в виду, что базовые имена файлов ресурсов (после удаления их расширений) должны быть уникальными. В случае файлов с 9 патчами базовое имя — это то, что осталось после удаления .9.png.   -  person scottt    schedule 26.06.2014
comment
Похоже, я не ошибся, думая, что это невозможно... Я просто искал более удобный способ изменения ресурса без добавления кода для каждого проекта. Мне кажется, что компилятор мог бы быть написан для поиска файлов ресурсов с тем же базовым именем, а не для перезаписи имени файла ресурсом основного проекта. Гейб, если вы разместите свой комментарий в качестве ответа, он будет принят.   -  person cren90    schedule 26.06.2014


Ответы (1)


Как отметили Гейб Сечан и Скотт в комментариях к вопросу, имена файлов должны быть уникальными, чтобы их можно было идентифицировать.

person cren90    schedule 22.01.2015