Как использовать файлы ресурсов в Xamarin из других пакетов NuGet? - PullRequest
2 голосов
/ 28 июня 2019

Мне нужно нарезать существующее приложение Xamarin со вкусами Android и iOS в пакеты NuGet, причем каждый пакет содержит модуль, который имеет свой собственный пользовательский интерфейс (фрагменты, контроллеры представления), который должен включаться в пользовательский интерфейс основного приложения.

В настоящее время я нахожусь в точке, где мне нужно ссылаться на ресурсы Android в одном пакете, которые определены в другом пакете NuGet.Он прекрасно работает в коде, где я могу просто использовать соответствующее пространство имен сгенерированного Resource класса, но это не из файлов ресурсов Android, т.е. (a) xml.

В конечном итоге янужно будет также нарезать части iOS, но я дошел только до части Android.

По крайней мере, для Android это должно быть возможно, потому что это работает для библиотек поддержки, предоставляемых Xamarin.Но я видел, что это привязка к файлу .aar.Но создание файла .aar для его привязки может привести к потере цели создания пользовательского интерфейса в Xamarin, так что это нереальный обходной путь.

Вот пример того, что даже не компилируется:

Resources / values ​​/ colors.xml в пакете Project / NuGet A:

<?xml version="1.0" encoding="utf-8"?>
<resources>
  <color name="TextColor">#FFFFFF</color>
</resources>

Resources / values ​​/ styles.xml в проекте B, ссылающемся на пакет NuGet A:

<resources xmlns:tools="http://schemas.android.com/tools">
  <style name="ExampleDescription">
    <item name="android:textColor">@color/TextColor</item>
  </style>
</resources>

Где A - это библиотека Android, а B - приложение для Android.

Может ли кто-нибудь дать какие-либо предложения или идеи о том, как достичь желаемого результата?Может быть, дать несколько советов о том, как сделать это в iOS?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...