Dans cette série de conseils, nous avons examiné de plus près certaines des nouvelles fonctionnalités et outils Android annoncés lors de la présente édition de Google I / O..
Dans ce post, nous allons nous concentrer sur Android Wear.
Google fournit des composants de l'interface utilisateur Android Wear via une bibliothèque de support Wearable Support dédiée depuis un certain temps déjà, mais cela est sur le point de changer.!
Lors de l'événement de cette année, Google a annoncé que les différents composants de la bibliothèque de support Wearable seront désapprouvés, fusionnés ou migrés dans la bibliothèque de support Android. Dans cet article, nous allons examiner quels composants vont être fusionnés, déplacés et supprimés, et comment vous pouvez commencer à utiliser le nouveau module Wear de la bibliothèque de support Android. aujourd'hui.
Nous examinerons également de nouveaux outils conçus pour faciliter l'utilisation de l'API Complications d'Android Wear..
Cette année, lors de la session Google I / O de Google, l'équipe Android Wear a annoncé que l'essentiel de la bibliothèque de support Wearable était transféré vers la bibliothèque de support Android. Les composants spécifiques à Wear constitueront la base d'un nouveau module de support-wear, similaire aux autres modules de la bibliothèque de support Android, tels que support-recylerview
et conception de support
.
Selon les sessions Android Wear chez Google I / O, on peut s’attendre à ce que ce nouveau module Wear sorte de la version bêta en même temps que le lancement officiel d’Android O.
Cependant, pas tout les composants de la bibliothèque de support Wearable seront transférés vers la bibliothèque de support Android. Google a également annoncé que certains composants de Wearable Support Library seraient:
Fusionné. Les composants applicables aux périphériques portables et portables seront fusionnés dans le cadre Android ou dans des modules de support plus génériques. Les composants devant être fusionnés incluent CircledImageView
, DelayedConfirmationView
, et ActionButton
.
Obsolète. Google va désapprouver les composants de l'interface utilisateur Android Wear associés aux modèles de conception qui ne se sont pas révélés populaires auprès des utilisateurs d'Android Wear. Plus précisément, Google supprimera le modèle spatial bidimensionnel permettant aux utilisateurs d’Android Wear de se déplacer horizontalement et verticalement et le remplacera par un LinearLayout
. Toutes les classes associées au modèle spatial bidimensionnel seront obsolètes, y compris GridViewPager
, boutons d'action et dispositions d'action.
Bien que cette migration soit un processus continu, Google a déjà intégré certains composants Android Wear dans la version 26.0.0 Beta1 de la bibliothèque de support Android..
BoxInsetLayout
: Ceci est un écran sensible à la forme FrameLayout
cela peut vous aider à concevoir une mise en page unique qui fonctionne à la fois pour les faces carrées et rondes. Lorsque votre mise en page est affichée sur un écran rond, un BoxInsetLayout
mettra tous ses enfants dans une case imaginaire au centre de l’écran circulaire. Vous pouvez spécifier le positionnement de vos éléments d'interface utilisateur dans ce carré central à l'aide de la touche layout_box
attribut. Lorsque votre application est affichée sur un écran carré, Android ignore les layout_box
attribut et utilise un encart de fenêtre égal à zéro, de sorte que vos vues seront positionnées comme si elles se trouvaient à l'intérieur FrameLayout
.
SwipeDismissFrameLayout
: Ceci est une mise en page que vous pouvez utiliser pour implémenter des interactions personnalisées pour votre Vue
s et fragments. Vous utiliserez généralement SwipeDismissFrameLayout
permettre aux utilisateurs de supprimer des vues et des fragments en balayant l'écran, essentiellement en reproduisant les fonctionnalités du Retour bouton trouvé sur les smartphones et tablettes Android.
WearableRecyclerView
: Ceci est une implémentation spécifique à Wearable de RecyclerVoir
cela vous aide à concevoir des dispositions plus efficaces pour les écrans ronds. le WearableRecyclerView
utilise plus efficacement la courbure d'un écran rond et est généralement utilisé pour la mise en œuvre de listes incurvées. WearableRecyclerView
vous permet également d’utiliser des gestes de défilement circulaire dans votre application, via son setCircularScrollingGestureEnabled ()
méthode.
Pour commencer à utiliser le nouveau module Android Wear, vous devez installer Android Support Library 26.0.0 Beta1, ce qui nous amène à une autre annonce Google I / O..
Lors de l'événement de cette année, Google a annoncé qu'il distribuerait toutes les versions à venir de la bibliothèque de support Android (à partir de 26.0.0 Beta1) via le référentiel Maven de Google. seulement.
Pour télécharger la bibliothèque de support Android à partir de ce référentiel, vous devez simplement ajouter le référentiel Google Maven à votre build.gradle fichier:
référentiels maven url 'https://maven.google.com' jcenter ()
Vous pouvez ensuite configurer vos dépendances de compilation comme d’habitude, alors ouvrez le module portable build.gradle fichier et ajouter la bibliothèque Wear en tant que dépendance de projet:
dependencies compile fileTree (dir: 'libs', include: ['* .jar'])) // Ajoutez le // suivant compile 'com.android.support:wear:26.0.0-beta1'
Pour ajouter un composant de la bibliothèque d'Undroid Wear UI à votre interface utilisateur, ouvrez simplement le fichier de ressources de présentation et assurez-vous d'utiliser le nouveau nom de package qualifié complet. Essentiellement, cela signifie remplacer android.support.wearable.view
avec android.support.wear.widget
. Par exemple, ici j'utilise le BoxInsetLayout
classe de la bibliothèque de support Android:
Pour importer cette classe dans votre fichier Java, il vous suffit d'utiliser le même nom, donc l'ancien:
importer android.support.wearable.view.BoxInsetLayout;
Devient le nouveau:
importer android.support.wear.widget.BoxInsetLayout;
Les utilisateurs d'Android Wear peuvent choisir parmi une grande variété de styles de visages. Bien que l'API Complications donne aux visages une totale maîtrise du mode d'affichage de ces données, cette flexibilité peut compliquer l'ajout de complications aux visages de votre montre..
L'équipe Google Wear d'Android Wear a présenté cette année des ajouts qui faciliteraient l'utilisation de l'API Complication..
ComplicationDrawable
est une nouvelle solution qui promet de gérer pour vous tout le style et la mise en page de vos complications.
Si vous créez un ComplicationDrawable
mais ne définissez aucun paramètre de style, vous obtiendrez un aspect par défaut, mais vous pouvez également utiliser le ComplicationDrawable
styliser chaque partie de votre complication, y compris la couleur de l'arrière-plan, le rayon de l'angle et la bordure.
Si votre projet cible l’API 24 ou supérieure, vous pouvez définir un ComplicationDrawable
objet en créant un fichier de ressources de mise en page dédié dans le projet / res / drawable dossier.
Ouvrez votre fichier XML, puis créez un ComplicationDrawable
en utilisant les tags suivants:
Notez que les attributs définis au niveau supérieur s’appliquent aux modes standard et ambiant, à moins que vous ne remplaciez spécifiquement ces attributs dans le fichier.
section.
Vous devez ensuite transmettre les données de complication à votre dessinable:
@Override public void onComplicationDataUpdate (int id, données ComplicationData) myComplicationDrawable.setComplicationData (data);
Et enfin, dessinez votre complication en appelant setBounds
sur votre tirable:
@Override public void onDraw (toile Canvas, limites Rect) if (haveChanged (bounds)) myComplicationDrawable.setBounds (complicationBoundsWithin (bounds)); // Appelez draw sur ComplicationDrawable // myComplicationDrawable.draw (canvas, currentTimeMillis);…
La plupart des complications incluent une forme de texte, et TextRenderer
est une nouvelle classe qui effectue de nombreux ajustements, petits mais puissants, à la manière dont le texte de complication est dessiné sur la toile..
Vous pouvez utiliser TextRenderer
pour spécifier les limites que votre texte de complication doit utiliser, et TextRenderer
redimensionnera ensuite le texte ou l’organisera sur plusieurs lignes afin de s’ajuster à cette zone. De plus, lorsque l'écran passe en mode ambiant «toujours actif» sur Android Wear, TextRenderer
ajuste votre texte en masquant les caractères et les styles qui ne conviennent pas à ce mode.
Pour tirer parti de cette nouvelle classe, vous devez créer un TextRenderer
lorsque vous initialisez le cadran de votre montre, puis transmettez-le au TextPaint
vous voulez utiliser, qui définit les attributs de style tels que la police et la couleur du texte:
@Override public void onCreate (titulaire de SurfaceHolder) … myTextRenderer = new TextRenderer (); myTextRenderer.setPaint (myTextPaint (TextPaint);
Vous devez créer un TextRenderer
pour chaque champ, de sorte que vous aurez également besoin de créer un TextRenderer
pour votre texte de titre:
myTitleRenderer = new TextRenderer (); myTitleRenderer.setPaint (myTitlePaint);…
Quand il est temps de dessiner, vous devez définir le texte sur le rendu en appelant Définir le texte
, puis récupérez le texte en appelant getText
:
public void onDraw (toile Canvas, limites Rect) … myTextRenderer.setText (myComplicationText.getText (Contexte, data.getShortText (), currentTimeMillis)); myTextRenderer.draw (canvas, bounds);…
Notez que beaucoup de complications dépendent du temps, c'est pourquoi currentTimeMillis
est inclus dans l'extrait de code ci-dessus.
Dans cet article, nous avons expliqué comment ajouter la nouvelle bibliothèque Android Wear UI à votre projet et comment commencer à travailler avec un certain nombre de composants de cette bibliothèque. Nous avons également examiné deux composants qui devraient rendre l'intégration de l'API Complications d'Android Wear beaucoup plus simple qu'auparavant..
Dans le prochain épisode, nous aurons un aperçu des nouvelles fonctionnalités d'Android 3.0 en explorant la dernière version d'Android Studio Canary..
En attendant, consultez nos autres tutoriels et nos cours vidéo sur le développement d'applications Android.!