web-dev-qa-db-fra.com

Est-il possible de construire des widgets Android en flutter?

Le fait que Flutter utilise largement le widget Word rend difficile la recherche de documentation sur ce sujet. Sur Android (je crois que ce n'est pas possible sur iOS), nous pouvons ajouter des widgets sur notre tableau de bord domestique, nous permettant de voir les informations liées à l'application ou de déclencher des actions en un clic sans avoir besoin de ouvrez l'application en question.

Est-il possible de construire de tels "widgets" dans Dart & Flutter? Ou devrais-je le faire dans Java et le brancher en quelque sorte avec mon application Flutter?

Pouvez-vous partager un exemple de ressource en contenant un?

EDIT: Je n'ai pas Android expérience de développement, mais cela ressemble à l'utilisation de ne toile dessinable pourrait faire l'affaire. Je pourrais trouver du code de flottement de toile , mais je ne peux pas encore relier les points.

EDIT 2: à partir de ce problème Github , il ressemble à l'écriture Android les widgets home dans flutter est un no go car Flutter a son propre moteur de rendu. apprendre kotlin pour faire cela, mais si quelqu'un connaissait des tutoriels de Nice pour m'aider, cela serait extrêmement utile.

23
Adrien Lemaire

Comme l'OP mentionné dans une modification, cela n'est actuellement pas possible car Flutter utilise un moteur de rendu personnalisé.

Les widgets sont assez limités dans leur rendu; la documentation explique que seules certaines dispositions peuvent être utilisées. Vous pourriez théoriquement utiliser le moteur de rendu de Flutter pour effectuer un rendu sur une image dans une instance distincte de la principale et l'afficher, mais ce serait très technique, probablement pas très performant et pas simple du tout!

Ici est un tutoriel assez détaillé pour les widgets qui vous guide à travers la création de quelques exemples bien qu'en Java. La même logique s'applique avec seulement quelques changements syntaxiques pour Kotlin car les classes sont à peu près interchangeables. Cependant, de façon réaliste, la plupart du travail est dans la mise en page avec un certain câblage dans Android; si vous connaissez déjà Android & Java, gardez à l'esprit que Kotlin ajoute un peu à la taille de votre application (The Kotlin runtime adds about 7,000 methods and ~1MB to your debug APK à partir de kotlin on Android FAQ ) et comme la plupart de votre logique devrait être en flutter, vous n'aurez probablement pas autant de code Kotlin/Java si cela est tout ce que vous l'utilisez (bien que si vous êtes nouveau dans les deux Java & Kotlin, Kotlin est sans doute plus convivial à certains égards).

De plus, pour pouvoir communiquer entre votre application flutter et le backend Java/kotlin, vous devrez utiliser les canaux de plateforme comme décrit dans la documentation flutter .

4
rmtmckenzie