Я отчаянно пытаюсь выяснить, какие изображения использовать для значка запуска приложения Android, созданного с помощью Xamarin.Forms.
Я выяснил, что имя файла иконки (без суффикса) передается как атрибут класса MainActivity
:
[Activity(Label = "AndroidTestApp", Icon = "@mipmap/icon", Theme = "@style/MainTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{
...
}
Затем я прочитал о различных размерах значков в Интернете и создал следующие файлы с именами icon.png
.
mipmap-mdpi
mipmap-hdpi
mipmap-xdpi
mipmap-xxdpi
mipmap-xxxdpi
Все файлы имеют действие сборки AndroidResource
.
При первом запуске все файлы имели прозрачный фон, но казалось, что Android использовал значок по умолчанию в качестве значка запуска вместо моих тестовых значков.
Поскольку я читал, что значкам пусковой установки может не нравиться прозрачный фон, я создал те же изображения с белым фоном во втором запуске, но Android также не показывает этот файл.
Итак, я ищу подсказку, что я могу сделать не так. Это сами файлы png? Это имена файлов? Или папки? Или ничего из вышеперечисленного?
Документация Xamarin.Forms довольно скудна, независимо от того, что я ищу (по крайней мере, это мое первое впечатление).
Я не знаю почему, но создание значка запуска в Интернете (одинаковые размеры, но, по-видимому, все файлы с разрешением 300 dpi), присвоение им другого имени и упоминание этого имени вместо icon
во всех местах, где было упомянуто старое имя, сделало Хитрость. Теперь отображаются новые значки.
Единственное различие, которое я вижу (помимо имени файла и значения dpi), заключается в том, что неработающие файлы изображений (которые были добавлены по умолчанию при создании тестового проекта) имеют специальный инструмент под названием MSBuild:UpdateGeneratedFiles
, упомянутый в их свойствах. которые нельзя удалить. В недавно добавленных новых файлах изображений этого нет.
Я создал простой png-файл с помощью GIMP, но это не сработало. Я не делал с ним ничего особенного.
Вы можете использовать эта ссылка для создания значков различного разрешения (только png), необходимых для приложений Android и iOS. Если вы готовы со значками, добавьте эти значки в папку drawable-xxxhdpi, xxhdpi, hdpi и drawable для ресурсов, а не в промежуточные папки. После добавления этих файлов вы можете установить их в классах Activity, как показано ниже.
[Activity (Label = "AndroidTestApp", Icon = "@ drawable / icon", Theme = "@ style / MainTheme",
Также убедитесь, что вы установили значок во всех действиях, которые вы должны рисовать / значок
Возможно, ваша исходная информация об изображении неполная или обрезана. Это также может привести к тому, что изображение не может отображаться в Android. Поэтому советуем попробовать использовать исходный источник.