39

Lorsque j'utilise l'éditeur de mise en page dans Android Studio j'essayer de faire une chaîne (contrainte bidirectionnelle) entre un EditText Voir et BoutonVoir en utilisant les ancres de contrainte, il ne fait pas la chaîne.Ne peut pas former une chaîne entre deux vues/widgets dans Android Studio de

Il fait seulement une contrainte si j'essaye de contraindre un Voir à l'autre.

Je suis en train de la chaîne du côté droit de la EditText sur le côté gauche du bouton .

C'est ce que mon éditeur de disposition ressemble à:

Layout Editor

+3

le tutoriel android est terrible. ils oublient tellement d'étapes, les boutons ne sont pas là où ils disent qu'ils sont, les séquences ne fonctionnent pas comme ils le disent. Quelqu'un doit faire un tutoriel sur la façon de prendre le tutoriel. Si quelqu'un trouve une meilleure alternative s'il vous plaît poster. – segFaultCoder

+0

Même problème ici ... actuellement il semble que vous deviez utiliser l'option "centre horizontalement" après avoir sélectionné les deux vues. Peut-être que c'est la version? –

Répondre

14

je tentais de comprendre cela aussi. J'ai découvert qu'une façon de le faire est de sélectionner les deux vues, puis faites un clic droit et sélectionnez Centrer horizontalement. Cela crée la chaîne, mais vous devez ensuite ajuster toutes les autres contraintes en conséquence. Je suis nouveau sur Android, donc je suis sûr qu'il y aura d'autres façons ....

0

J'ai résolu ceci en créant la chaîne en mode plan. Le tutoriel ne dit jamais que vous devez y revenir, mais si vous le faites, vous pouvez créer la chaîne.

+0

Comment l'avez-vous fait? Je suis en mode blueprint mais les ancres ne sont pas connectées (pas en vert) – mukulg

1

résolu en ajoutant des contraintes à la fois modifier le texte (application: layout_constraintRight_toLeftOf = "@ + id/bouton") et le bouton (app: layout_constraintBaseline_toBaselineOf = "@ + id/editText")

d'exemple complet comme ci-dessous

<EditText 
    android:id="@+id/editText" 
    android:layout_width="245dp" 
    android:layout_height="wrap_content" 
    android:layout_marginLeft="16dp" 
    android:layout_marginStart="16dp" 
    android:ems="10" 
    app:layout_constraintRight_toLeftOf="@+id/button" 
    android:hint="@string/edit_message" 
    android:inputType="textPersonName" 
    app:layout_constraintLeft_toLeftOf="parent" 
    android:layout_marginTop="16dp" 
    app:layout_constraintTop_toTopOf="parent" /> 

<Button 
    android:id="@+id/button" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Button" 
    android:layout_marginRight="16dp" 
    app:layout_constraintRight_toRightOf="parent" 
    app:layout_constraintBaseline_toBaselineOf="@+id/editText" 
    app:layout_constraintLeft_toRightOf="@+id/editText" 
    android:layout_marginLeft="16dp" /> 
1

Je pense que l'éditeur de l'interface utilisateur de studio Android a besoin de plus d'amélioration pour la création de la chaîne actuellement j'utilise Android Studio Preview 3.0 Canary 3

Quelque temps de rédacteur en chef, il fonctionne parfaitement, mais parfois pas, lors de la liaison ne se produira pas de rédacteur en chef ui nous avons besoin d'ajouter la contrainte manuellement selon l'exigence verticale ou d'une chaîne horizontale suivante sont contraintes

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 la chaîne manuellement en XML comme suivre

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 attribute of the child will then affect the positioning of the packed elements

espoir éditeur studio android va améliorer cette

1

La façon dont j'ai été en mesure de créer une vue en chaîne dans la mise en page du plan directeur consiste à cliquer par glisser-déplacer pour sélectionner les objets à lier. Ensuite, pendant qu'ils sont sélectionnés, faites un clic droit et sélectionnez "centre horizontalement" Après cela, je peux créer l'autre contrainte et la chaîne

0

Juste un conseil lorsque vous suivez le tutoriel est de s'assurer que l'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. les sélectionner et faites un clic droit
  3. Sélectionnez « Centre Horizontalement »

Cela ne l'astuce pour créer la chaîne

0

Je désobéis à la tutoriel en activant Autoconnect (parce que j'essayais tout).

J'ai sélectionné les deux widgets, puis j'ai sélectionné Centre horizontalement. La chaîne a été créée, j'ai désactivé Autoconnect, puis j'ai continué le didacticiel.

3

J'ai une solution, probablement ne sera pas la meilleure jusqu'à ce que quelqu'un vraiment répondre correctement, mais fonctionne. J'espère que cela aide les autres 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 quand il s'agit de créer des chaînes. Certaines options de personnes ici travaillent pour 2 ou 3 éléments, mais j'ai 5 éléments.

Donc la réponse est de résoudre cela dans le code XML.

Mes pas sont pour horizontal arrangement, si vous voulez vertical juste changer Droite/Gauche pour Haut/Bas

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

Ensuite, je connecte le premier élément dans le gauche et le dernier élément dans le droit. Et connectez le droit de chaque élément dans le côté gauche de l'élément suivant.

app:layout_constraintRight_toLeftOf="@id/right_element"

Image of elements connect normal, no chain yet

Après que j'aller à l'intérieur du code et de mettre manuellement la connexion à l'élément gauche.

app:layout_constraintLeft_toRightOf="@+id/left_element"

Et la chaîne a été créé. J'espère que cette aide, désolé pour ne pas afficher les photos, je n'ai pas encore assez de réputation XD.

0

L'onglet DESIGN est très sensible aux bugs! Faites simplement ce que vous voulez faire dans la conception mais écrivez-le via XML. Pas besoin de tutoriels c'est auto-explicatif, connectez toutes les gauches et les droits!

0

J'ai eu le même problème auparavant, et d'après ce que je peux dire, nous avons le même problème.

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

Espérons que cela aide.