Icons
Holds one localized Android launcher icon per screen density.
Read time 1 minuteLast updated 6 days ago
Definition
- Type: Class
- Namespace: Unity.Localization.Android
- Assembly: UnityEngine.LocalizationRuntimeModule
public class Icons
Remarks
Android keeps a separate icon per screen density and picks the closest match for the device, so this type holds one texture for each. Assign every density: Android matches the locale before the density, so a locale that supplies only some densities still wins for the rest and the device scales the wrong size instead of taking the icon from the Player Settings. Unity writes a locale only when all of its densities resolve, and reports the ones missing. Leaving the whole set empty is the way to keep the Player Settings icons for a locale.
Assign a localized icon for one density.
Examples
using Unity.Localization;using Android = Unity.Localization.Android;namespace Unity.Localization.Samples{ public class AndroidIconsExample { // Every density has to be assigned, or the locale keeps the icons from the Player Settings. static readonly (Android.IconDensity density, string key)[] k_Icons = { (Android.IconDensity.Low, "Launcher Icon ldpi"), (Android.IconDensity.Medium, "Launcher Icon mdpi"), (Android.IconDensity.High, "Launcher Icon hdpi"), (Android.IconDensity.ExtraHigh, "Launcher Icon xhdpi"), (Android.IconDensity.ExtraExtraHigh, "Launcher Icon xxhdpi"), (Android.IconDensity.ExtraExtraExtraHigh, "Launcher Icon xxxhdpi") }; public void Run(Android.AppInfo appInfo) { foreach (var (density, key) in k_Icons) appInfo.LegacyIcons.GetIcon(density).SetReference("App Icons", key); } }}