Astuce présentation des icônes adaptatives et des raccourcis épinglés d’Android O

Dans cette série de conseils rapides, nous avons examiné certaines des modifications à venir de l'interface utilisateur avec lesquelles vous pouvez commencer à travailler aujourd'hui, via Android O Developer Preview..

Dans ce dernier article de la série, nous allons voir comment créer des icônes de lanceur s’intégrant parfaitement à l’interface utilisateur plus étendue du périphérique et comment créer des raccourcis permettant aux utilisateurs d’accéder directement aux actions les plus importantes de votre application, directement à partir de. leur écran d'accueil.

Création d'icônes adaptatives

Avec la sortie d'Android O, les fabricants d'équipement d'origine (OEM) tels que HTC et Samsung auront la possibilité de fournir un masque que le système appliquera à toutes les icônes de lanceur d'applications. Les masques garantissent que toutes les icônes qui apparaissent sur ce périphérique ont la même forme: si le fabricant OEM fournit un masque circulaire, toutes les icônes du lanceur d’applications seront alors circulaires. Si elle fournit un masque arrondi, alors toutes les icônes auront des coins arrondis.

Ces icônes adaptatives sont conçues pour offrir une apparence plus cohérente sur le lanceur du périphérique et dans les autres zones où les icônes du lanceur apparaissent en évidence, telles que celles de votre périphérique. Réglages et partager des dialogues.

Pour vous assurer que les icônes de votre lanceur s'affichent correctement quel que soit le masque utilisé, vous devez effectuer quelques ajustements..

Avant de commencer, vérifiez que votre manifeste Android: icône L'attribut pointe sur l'image que vous voulez utiliser comme icône de lanceur:

Chaque icône adaptative comprend un calque d'arrière-plan, un calque de premier plan et un masque. Ce dernier est fourni par le fabricant OEM, mais vous devrez fournir les couches d’arrière-plan et d’avant-plan. Pour obtenir les meilleurs résultats, ces couches doivent être au format PNG, sans masque ni ombre d’arrière-plan. Les deux calques doivent avoir une résolution de 108x108 ppp, mais le ppp interne de 72x72 ppp est le contenu qui apparaîtra dans la fenêtre masquée, car le système réserve les 36 ppp extérieurs autour de l'icône pour des effets visuels, tels que pulsation ou parallaxe..

Créez vos calques d'arrière-plan et d'avant-plan, puis ajoutez-les à votre projet. Ensuite, créez un res / mipmap-anydpi / ic_launcher.xml fichier et utilisez-le pour référencer les deux dessins que vous souhaitez utiliser comme calques d'arrière-plan et de premier plan, par exemple:

 http://schemas.android.com/apk/res/android ">   

En fonction de la conception de votre icône, il est possible que des masques circulaires coupent un contenu important. Si vous pensez que les masques circulaires peuvent poser un problème pour votre icône, vous pouvez créer une icône circulaire dédiée que le système utilisera chaque fois qu'il applique un masque circulaire..  

Créez cette icône circulaire, ajoutez-y votre projet, puis référencez cette version de votre icône dans le manifeste de votre projet, à l'aide de la touche Android: roundIcon attribut.

Épingler des raccourcis

Certains appareils fonctionnant sous Android permettront aux utilisateurs d'épingler des raccourcis d'application à leur lanceur. Ces raccourcis apparaissent sous forme d'icônes séparées que l'utilisateur lance en appuyant sur, exactement de la même manière qu'ils interagissent avec les icônes du lanceur d'applications habituelles..

Chaque raccourci d'application fera référence à une ou plusieurs intentions, chacune lançant une action spécifique dans votre application. Cela rend les raccourcis épinglés un excellent moyen de permettre aux utilisateurs d'accéder directement aux tâches et au contenu les plus importants de votre application directement à partir de leur écran d'accueil. Par exemple, vous pouvez créer un raccourci qui amène l'utilisateur au dernier point de sauvegarde de votre application de jeu ou à son contact le plus fréquemment utilisé..

Le nombre de raccourcis épinglés que vous pouvez proposer est illimité. Toutefois, pour éviter que votre application ne prenne le contrôle du lanceur de l'utilisateur, il est recommandé de ne proposer que quatre raccourcis à la fois..

Pour offrir un ou plusieurs raccourcis épinglés, vous devez d’abord créer une instance de ShortcutManager:

ShortcutManager myShortcutManager = context.getSystemService (ShortcutManager.class);

Ensuite, vérifiez que le périphérique de l'utilisateur prend réellement en charge les raccourcis épinglés:

if (mShortcutManager.isRequestPinShortcutSupported ()) 

Cela retourne VRAI si le lanceur par défaut supporte requestPinShortcut.

En supposant que le terminal prenne en charge les raccourcis intégrés à l’application, vous pouvez créer un ShortcutInfo objet contenant un identifiant, une intention et une étiquette pour ce raccourci.

ShortcutInfo pinShortcutInfo = ShortcutInfo.Builder (context, "my-shortcut"); .setShortLabel (getString (R.string.shortcut_label)) .setLongLabel (getString (R.string.shortcut_long_label)) .setIcon (Icon.createWithResource (context, R.mipmap.ic_launcher)) .setIntent (Intent.ACTION) Uri.parse ("https://www.google.com"))) .build ();

Enfin, vous épinglez le raccourci en appelant requestPinShortcut ().Le lanceur par défaut recevra cette demande, puis demandera à l'utilisateur d'approuver ou de refuser l'opération d'épinglage. Si votre application a besoin de savoir si l'opération d'épinglage a été un succès, vous pouvez également créer une En attente d'intention objet.

// Ici, nous supposons que notre projet inclut déjà une méthode createShortcutResultIntent (), qui renverra l'intention de diffusion // Intent pinnedShortcutCallbackIntent = createShortcutResultIntent (pinShortcutInfo); PendingIntent successCallback = PendingIntent.createBroadcast (contexte, 0, pinnedShortcutCallbackIntent); mShortcutManager.requestPinShortcut (pinShortcutInfo, successCallback.getIntentSender ()); 

Ce En attente d'intention enverra seulement un résultatIntent si l'opération d'épinglage est un succès. Votre application ne recevra pas de notification si l'opération échoue.

Une fois la broche créée, vous pouvez mettre à jour son contenu à l'aide du bouton updateShortcuts () méthode. Sachez simplement que le contenu ou les actions épinglés ont généralement une durée de conservation. Dans notre exemple de jeu, l'utilisateur peut atteindre la fin du jeu ou supprimer son fichier de sauvegarde. À ce stade, votre raccourci épinglé n'aura plus aucun contenu à afficher..

S'il est tentant de recycler un raccourci épinglé en modifiant son objectif initial, il est beaucoup moins déroutant pour l'utilisateur si vous désactivez les raccourcis qui ne sont plus pertinents. Si un raccourci épinglé arrive à la fin de sa vie, vous pouvez le désactiver en appelant disableShortcuts ().

Conclusion

Dans cette série, nous avons examiné certaines des mises à jour de l'interface utilisateur d'Android O avec lesquelles vous pouvez commencer à expérimenter aujourd'hui en installant le premier aperçu du développeur. Dans la première partie, je vous ai montré comment créer du texte automatiquement mis à l'échelle en fonction de la configuration actuelle de l'écran. dans la deuxième partie, nous avons envisagé d’ajouter des polices personnalisées à vos projets Android et, dans ce dernier article de la série, nous avons présenté les icônes adaptatives et les raccourcis épinglés..

Pendant que vous êtes ici, consultez certains de nos autres articles sur le développement d'applications Android.!