Impossible de former une chaîne entre deux vues / widgets dans Android Studio

Lorsque j’utilise l’éditeur de disposition dans Android Studio et que j’essaie de créer une chaîne (contrainte bidirectionnelle) entre une vue EditText et une vue bouton à l’aide des ancres de contrainte, cela ne fait pas la chaîne.

Cela ne fait qu’une contrainte si j’essaie de contraindre une vue à l’autre.

J’essaie de chaîner le côté droit du EditText sur le côté gauche du bouton .

Voici à quoi ressemble mon éditeur de mise en page:

Éditeur de mise en page

J’essayais de comprendre ça aussi. J’ai découvert qu’une façon de faire est de sélectionner les deux vues, puis de cliquer avec le bouton droit de la souris et de sélectionner Centrer horizontalement. Cela crée la chaîne, mais vous devez ensuite ajuster les autres contraintes en conséquence. Je suis nouveau sur Android, donc je suis sûr qu’il y aura d’autres moyens ….

J’ai eu le même problème. Résolu en entrant dans le XML comme indiqué dans le tutoriel: https://developer.android.com/training/basics/firstapp/building-ui.html

Sur le tutoriel, cliquez sur “Voir le XML de la mise en page finale” et comparez. Mon XML manquait:

app:layout_constraintLeft_toRightOf="@+id/editText" 

J’ai eu une solution, probablement ne sera pas la meilleure jusqu’à ce que quelqu’un réponde vraiment correctement, mais fonctionne. J’espère que cela aidera les autres gars qui sont restés au même endroit que moi, afin que vous puissiez continuer le travail.

On dirait que l’interface d’Android Studio ne fonctionne pas correctement lorsqu’il s’agit de créer des chaînes. Certaines options proposées par des personnes travaillent pour 2 ou 3 éléments, mais j’ai 5 éléments.

La solution est donc de résoudre cela dans le code XML.

Mes pas sont pour la disposition horizontale , si vous voulez la verticale, il suffit de changer Droite / Gauche pour Haut / Bas

Je mets tous les éléments à la place que je veux et supprime toutes les connexions. ( Que dans mon cas, je connecte le haut et le bas afin qu’ils puissent être au milieu. )

Ensuite, je connecte le premier élément à gauche et le dernier élément à droite. Et connectez le droit de chaque élément dans la partie gauche de l’élément suivant.

app:layout_constraintRight_toLeftOf="@id/right_element"

Image des éléments se connectent normalement, pas encore de chaîne

Après cela je vais à l’intérieur du code et mets manuellement la connexion à l’élément de gauche.

app:layout_constraintLeft_toRightOf="@+id/left_element"

Et la chaîne a été créée. Image d’éléments liés à la chaîne

J’espère que cette aide, désolé de ne pas poster les photos, je n’ai pas assez de réputation XD.

Dans Android Studio 3.0.1, choisissez les deux objects (sur l’onglet xml design) et cliquez avec le bouton droit sur l’un d’eux et vous aurez sous l’option “chaîne” deux options: une chaîne horizontale et une seconde chaîne verticale.

entrer la description de l'image ici

Résolu en ajoutant des contraintes dans les deux éditer le texte (app: layout_constraintRight_toLeftOf = “@ + id / button”) et le bouton (app: layout_constraintBaseline_toBaselineOf = “@ + id / editText”)

Exemple complet ci-dessous

   

Je pense que l’éditeur de studio Android a besoin de plus d’amélioration pour créer la chaîne actuellement j’utilise Android Studio Aperçu 3.0 Canary 3

Parfois, à partir de l’éditeur, cela fonctionne parfaitement mais parfois, lorsque la liaison ne se produit pas à partir de l’éditeur d’interface utilisateur, nous devons append une contrainte manuellement selon les exigences.

 layout_constraintTop_toTopOf layout_constraintTop_toBottomOf layout_constraintBottom_toTopOf layout_constraintBottom_toBottomOf layout_constraintBaseline_toBaselineOf layout_constraintStart_toEndOf layout_constraintStart_toStartOf layout_constraintEnd_toStartOf layout_constraintEnd_toEndOf 

et aussi nous déclarons le style de chaîne manuellement en XML comme suit

layout_constraintHorizontal_chainStyle ou layout_constraintVertical_chainStyle

CHAIN_SPREAD -- the elements will be spread out (default style)

Chaîne pondérée -- in CHAIN_SPREAD mode, if some widgets are set to MATCH_CONSTRAINT, they will split the available space

CHAIN_SPREAD_INSIDE -- similar, but the endpoints of the chain will not be spread out

CHAIN_PACKED -- the elements of the chain will be packed together. The horizontal or vertical bias atsortingbute of the child will then affect the positioning of the packed elements -- the elements of the chain will be packed together. The horizontal or vertical bias atsortingbute of the child will then affect the positioning of the packed elements

espérons que l’éditeur de studio Android améliorera cette

La façon dont j’ai pu créer une vue en chaîne dans la mise en page du plan directeur consiste à faire glisser un clic, à sélectionner les objects à associer. Ensuite, pendant qu’ils sont sélectionnés, cliquez avec le bouton droit de la souris et sélectionnez “Centre horizontalement”. Après cela, je peux créer l’autre contrainte et la chaîne.

J’ai résolu ce problème en créant la chaîne en mode blueprint. Le tutoriel ne dit jamais que vous devez y revenir, mais si vous le faites, vous pouvez créer la chaîne.

Juste un conseil lorsque vous suivez le tutoriel est de vous assurer que Android Studio est à jour. Je me demandais où certains boutons sont en suivant les tutoriels, mais j’ai trouvé que j’utilisais une version plus ancienne.

En termes de question, le meilleur est donné par James @ 6/6/17.

  1. Ajouter trois boutons dans la vue
  2. Sélectionnez-les tous et faites un clic droit
  3. Sélectionnez “Centre Horizontalement”

Cela fait le tour pour créer la chaîne

J’ai désobéi au tutoriel en activant Autoconnect (parce que je tentais tout).

J’ai sélectionné les deux widgets, puis sélectionné Center Horizontally. La chaîne a été créée, j’ai désactivé Autoconnect, puis j’ai continué le tutoriel.

L’onglet DESIGN est très sujet aux bugs! Faites simplement ce que vous souhaitez faire dans la conception, mais écrivez-le via XML. Pas besoin de tutoriels, c’est explicite, connectez tous les gauches et les droits!

J’ai déjà eu le même problème et d’après ce que je peux dire, nous avons le même problème.

Le tutoriel vous demande d’utiliser la version Android studio 3. Quand j’ai eu ce problème, j’ai réalisé que mon studio Android rest 2.2.3. Après avoir installé la mise à jour pour la version 3 et sdk etc à la dernière version, cela a fonctionné.

J’espère que cela t’aides.

Qu’est-ce qui a causé le problème pour moi? J’ai dupliqué l’un de mes points de vue dans ma mise en page (pour accélérer les choses, à ce que je pensais). Ce faisant, j’ai causé le problème, plusieurs vues avaient le même android: id value. qui est un gros no-no.

une valeur unique à toutes mes vues (en changeant Android: id ) a aidé à résoudre ce problème