25 novembre 2024

Mettez moi de belles tuiles !

Il est grand temps de passer aux tuiles Haute Définition 🙂 ! Le parc Windows Phone 8 grandit mais les Windows Phone 7.8 occupent encore le terrain et je pense réellement qu’il faut pas les oublier. Combien je vois d’applications où le développeur n’a pas mis de tuiles compatibles 7.8/8.0 ! Alors que ça prend 5 minutes (hormis le design des tuiles) pour implémenter sa tuile principale. tuile-avantapres
Le cas ici est à peine exagéré !
Regardez la différence de dimensions : sizes
Il est temps de réagir ! Vous avez 5min ?:D

1) INTALLATION DE MANGOPOLLO


Cherchons pas tous les moyens à se simplifier la vie ! Installez Mangopollo

 
PM> Install-Package Mangopollo

mangopollo nuget

2) PREPARER VOS TUILES


C’est le plus long ! Le minimum idéal : Une de 159×159, deux de 336×336 et deux de 691×336 en JPG ou PNG
tuiles
Et les placer par exemples dans un dossier \Assets\Tiles\
Assets

2) EST-ON SUR WINDOWS PHONE 7.8 OU PLUS ?


Placer ces quelques lignes dans l’App.xaml.cs :

 
private static Version TargetedVersion = new Version(7, 10, 8858);
public static bool IsTargetedVersion 
{ 
    get 
    { 
        return Environment.OSVersion.Version >= TargetedVersion; 
    } 
}

3) CREATION DES TUILES


C’est encore une fois super facile :

 
void NouvellesTuiles()
{
    if (App.IsTargetedVersion)
    {
        var tile = ShellTile.ActiveTiles.First();
        var flipTileData = new FlipTileData
        {
            SmallBackgroundImage = new Uri("/Assets/tiles/159x159.png", UriKind.Relative),
            BackTitle = "Mon appli",
            BackContent = "",
            BackgroundImage = new Uri("/Assets/tiles/336x336.png", UriKind.RelativeOrAbsolute),
            BackBackgroundImage = new Uri("/Assets/tiles/336x336b.png", UriKind.Relative),
            WideBackContent = "",
            WideBackgroundImage = new Uri("/Assets/tiles/691x336.png", UriKind.RelativeOrAbsolute),
            WideBackBackgroundImage = new Uri("/Assets/tiles/691x336b.png", UriKind.Relative)
        };
        tile.Update(flipTileData);

    }
}

Et exécuter cette méthode au démarrage de votre appli. Perso je l’ai mis dans le OnNagivationFrom().

Vous pouvez en tuile principale avoir le style FLIP ou Standard et tous les autres modes si vous créez une tuile secondaire.
wide

ALORS PLUS AUCUNE EXCUSE ! De plus le store aime bien les tuiles dynamique et le met en avant :
store

Lien MSDN : Adding Windows Phone 8 and 7.8 Tile functionality to Windows Phone OS 7.1 apps
Source du projet Windows Phone : Tile7880.zip