2017-02-01 6 views
2

Я создаю приложение для Android в Xamarin Forms. Я пытаюсь добавить ToolbarItem значок, используя некоторые из примеров из this форума с помощью XAML следующим образом:Иконка ToolbarItem не отображается в Android

<ToolbarItem Name="Add" Activated="OnAddClick" 
      Priority="1" Order="Primary" Icon="Create.png" /> 

Мой Create.png значок файл находится в /Resources/drawable/ находится в проекте Android. Я сделал то же самое в Android Studio, используя файл макета меню, и мои значки видны. Я, однако, изо всех сил пытаюсь добиться того же результата в Xamarin Forms. Это проблема с Xamarin Forms или я делаю что-то неправильно. Какие-либо предложения?

+1

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

+0

Да, теперь он работает. Мне интересно узнать, знают ли люди на форуме, о которых я упоминал, потому что некоторые из их примеров содержали прописные буквы в именах файлов. Спасибо Джеральду! – Razor

+0

Позвольте мне превратить его в ответ для вас :) –

ответ

3

Для того, чтобы это работало по-настоящему кросс-платформенное, убедитесь, что имя файла соответствует всем требованиям для каждой платформы. В частности, Android, как известно, придирчивы. Только только строчные имена файлов без каких-либо специальных символов. Вы можете использовать только строчные буквы, цифры, символы подчеркивания и периоды.

Пример действительного имени файла: create.png или icon_create.png.

недействительные примеры являются: Create.png, icon create.png, create-icon.png и т.д.

Подробнее о Xamarin documentation page.

Как указано в комментариях, Xamarin Studio делает отличную работу по указанию незаконных имен файлов.

+0

Еще раз спасибо. Я уверен, что в именах файлов допускаются символы подчеркивания ('_'), хотя я могу ошибаться. – Razor

+0

Он говорит, что в ответе разрешены символы подчеркивания;) Также, пожалуйста, примите это как ответ, если вы сочтете нужным! –

+0

Принято! Еще раз спасибо. Очень полезно! ;) – Razor

Смежные вопросы