Support IVY : Encyclopédie #1 et site d'informations, Conseils, Tutorials, Guides et plus
  • Accueil
  • Astuces
  • Magazine
    • Conseil en relations
      • Astuces
    • Rédaction & écriture
    • Web Design
    • Réseaux sociaux
      • Facebook
  • Lifestyle
    • Food
  • Ressources
    • Questions & Réponses
    • Graphique
      • PixelArt
No Result
View All Result
Support IVY : Encyclopédie #1 et site d'informations, Conseils, Tutorials, Guides et plus
  • Accueil
  • Astuces
  • Magazine
    • Conseil en relations
      • Astuces
    • Rédaction & écriture
    • Web Design
    • Réseaux sociaux
      • Facebook
  • Lifestyle
    • Food
  • Ressources
    • Questions & Réponses
    • Graphique
      • PixelArt
Support IVY : Encyclopédie #1 et site d'informations, Conseils, Tutorials, Guides et plus
No Result
View All Result
Home Programmation Android

Prise en charge de nouveaux facteurs de forme avec la nouvelle bibliothèque Jetpack WindowManager

9 mai 2020
in Android
Reading Time: 12 mins read
Prise en charge de nouveaux facteurs de forme avec la nouvelle bibliothèque Jetpack WindowManager

Table des matières

ArticlesA lire

Revue Atomicrops – SUPERJUMP – Moyen

Revue Atomicrops – SUPERJUMP – Moyen

Un moyen super facile de faire des validations EditText dans Android

Messagerie cloud Firebase – Satya Pavan Kantamani

Messagerie cloud Firebase – Satya Pavan Kantamani

Génération de DeepLinks au moment de la compilation Android

Génération de DeepLinks au moment de la compilation Android

Prise en charge de nouveaux facteurs de forme avec la nouvelle bibliothèque Jetpack WindowManager

Les utilisateurs peuvent placer le téléphone à plat, comme sur une table, et utiliser la moitié inférieure de l’écran pour naviguer et interagir avec l’application.

Captures d’écran de Google Duo et Youtube présentées lors du Samsung Galaxy Unpacked 2020

L’objectif de la bibliothèque Jetpack WindowManager est de fournir une surface API unique pour différents types d’appareils pliables qui arrivent sur le marché, afin que les développeurs d’applications puissent cibler des catégories entières d’appareils au lieu d’un seul modèle.

En version 1.0.0, la bibliothèque fournit des informations sur deux propriétés physiques des appareils pliables: les fonctionnalités d’affichage et l’état de l’appareil.

Un panneau d’affichage unique ou une configuration multi-affichage peut avoir différentes caractéristiques qui créent des perturbations dans la surface d’écran continue. Des exemples de ceux-ci peuvent être des plis, des charnières, des zones courbes ou des découpes. S’il y a de telles perturbations dans la fenêtre d’application, la disposition et le placement du contenu dans la fenêtre peuvent être adaptés pour éviter de telles zones, ou pour en profiter et les utiliser comme séparateur naturel.

Chaque zone d’entité d’affichage peut être caractérisée par son rectangle de délimitation dans l’espace de coordonnées de la fenêtre et son type. Le rectangle indiquera les limites physiques de l’entité. Le type de la fonctionnalité aidera à définir comment la traiter. Par exemple, certaines fonctionnalités peuvent créer des séparations physiques et / ou des zones non interactives (par exemple, charnière entre deux panneaux d’affichage, découpe d’affichage), tandis que d’autres peuvent servir de séparateurs logiques (par exemple, plier).

La première version de la bibliothèque de support ne comprend que deux types de fonctionnalités: TYPE_FOLD et TYPE_HINGE.

Pour TYPE_FOLD en particulier, le rectangle de délimitation devrait être de zéro (0, y, largeur, y) ou de zéro (x, 0, x, hauteur). Cela indique qu’il n’y a pas de région inaccessible, mais il indique toujours la position à l’écran.

Selon la conception du matériel de charnière, différents dispositifs pliables peuvent avoir plusieurs états intermédiaires: fermés, partiellement ouverts, entièrement ouverts (surface plane) ou retournés. En utilisant la bibliothèque, les applications peuvent fournir différentes fonctions en fonction de ces états de périphérique. Ces états sont définis comme différentes postures:

Chaque appareil peut signaler n’importe quel sous-ensemble des postures définies ci-dessus en fonction de son matériel et de l’expérience utilisateur souhaitée

Pour ajouter une dépendance au gestionnaire de fenêtres, vous devez ajouter le Référentiel Google Maven à votre projet.

Ajoutez les dépendances pour les artefacts dont vous avez besoin dans le build.gradle fichier pour votre application ou module:

Google Duo sur le Samsung Galaxy Z Flip

Imaginons que vous souhaitiez fractionner l’interface utilisateur de votre application comme Google Duo sur les appareils pliables. En règle générale, il serait judicieux de le faire dans les cas où la configuration physique et l’état du périphérique créent une séparation logique pour l’utilisateur. Par exemple, le Galaxy Z Flip crée une telle séparation logique lorsqu’il est en mode «Flex» ou «semi-plié». Par conséquent, vous devez connaître la position du pli dans la fenêtre de l’application et l’état de l’appareil.

Tout d’abord, obtenez une instance de androidx.window.WindowManager d’une activité.

Notez les paramètres ici.

Tout d’abord, le contexte est utilisé pour initialiser et connecter l’instance de WindowManager à une entité visuelle sur l’écran. Donc ça doit être un visuel Context, ce qui signifie soit Activity ou un ContextWrapper autour d’un.

Deuxièmement, le backend de la fenêtre est le fournisseur des informations pour la bibliothèque de support. Qui passe null ici, cela signifierait que les informations sur le périphérique par défaut seraient utilisées et que la bibliothèque ne signalerait aucune fonctionnalité d’affichage et aucun état de périphérique inconnu lorsque l’application s’exécuterait sur un téléphone normal. Cependant, vous pouvez également transmettre une implémentation personnalisée de androidx.window.WindowBackend pour émuler tout type d’appareil pliable sans accès au matériel physique. Nous montrons un exemple de cela dans notre exemple d’application.

Puisqu’il est logique de séparer l’interface utilisateur lorsqu’il y a une séparation logique du matériel, il y a deux cas pour le faire:

  1. Soit le type de la fonction d’affichage est TYPE_HINGE et il y a toujours une séparation physique dans la fenêtre d’activité.
  2. Ou le type de la fonction d’affichage est Type_Fold, et l’état de l’écran n’est pas plat (par exemple, pas POSTURE_OPENED). Pour le Galaxy Z Flip en particulier, nous serons intéressés par POSTURE_HALF_OPENED.

Pour le cas du pli, nous devons en savoir plus sur les changements de posture de l’appareil, nous devons donc enregistrer un DeviceState changer d’auditeur:

Dans le rappel, vous pouvez modifier l’état de l’appareil et mettre à jour l’interface utilisateur si nécessaire.

Enfin, nous devrons obtenir les fonctionnalités d’affichage réelles qui se trouvent dans la fenêtre d’activité.

Selon la façon dont votre activité gère (ou ne gère pas) les modifications de configuration, vous devrez peut-être la poser à différents moments du cycle de vie de l’activité. Si vous le demandez sur la disposition de la vue de la décoration de la fenêtre, vous serez toujours à jour après les changements d’état d’activité:

Notez que les positions des entités d’affichage sont calculées par rapport à l’espace de coordonnées de la fenêtre d’activité. Par conséquent, il ne peut être fourni qu’une fois l’activité attachée à la fenêtre. Demander les informations avant cela lèvera une exception.

Nous vous suggérons fortement d’explorer application de démonstration pour la bibliothèque. Il contient également des exemples de calcul de la position des entités d’affichage dans la hiérarchie des vues, et un exemple de une mise en page qui divise automatiquement le contenu si une fonction d’affichage de division est trouvée.

ShareTweetPin

Related Posts

Revue Atomicrops – SUPERJUMP – Moyen
Android

Revue Atomicrops – SUPERJUMP – Moyen

Revue Atomicrops - SUPERJUMP - Moyen L'agriculture est destinée à compléter l'action, et non l'inverse.

Android

Un moyen super facile de faire des validations EditText dans Android

Un moyen super facile de faire des validations EditText dans Android Ici, nous obtenons le TextInputLayout de TextInputEditText en utilisant...

Messagerie cloud Firebase – Satya Pavan Kantamani
Android

Messagerie cloud Firebase – Satya Pavan Kantamani

Messagerie cloud Firebase - Satya Pavan Kantamani Explorez Firebase Cloud Messaging (FCM), une solution de messagerie cloud multiplateforme qui vous...

Génération de DeepLinks au moment de la compilation Android
Android

Génération de DeepLinks au moment de la compilation Android

Génération de DeepLinks au moment de la compilation Android Les liens profonds sont des aspects importants de l'application qui rendent...

Next Post
Pour les startups menacées d’extinction, survivre au coronavirus est une course contre la montre

Pour les startups menacées d'extinction, survivre au coronavirus est une course contre la montre

Qu’est-ce que le Bitcoin divisé par deux?

Qu'est-ce que le Bitcoin divisé par deux?

Laisser un commentaire Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

  • Accueil
  • Questions & Réponses
  • Science
  • Astuces
  • Business
  • Cryptomonnaie
  • Design
  • Marketing
  • Programmation
  • Politique de confidentialité
  • A propos
  • Contact

© 2018-2020 SupportIVY - Premium Magazine.

No Result
View All Result
  • Accueil
  • Astuces
  • Magazine
    • Conseil en relations
      • Astuces
    • Rédaction & écriture
    • Web Design
    • Réseaux sociaux
      • Facebook
  • Lifestyle
    • Food
  • Ressources
    • Questions & Réponses
    • Graphique
      • PixelArt