147 votes

Cette vue n'est pas contrainte verticalement. Au moment de l'exécution, il saute à gauche sauf si vous ajoutez une contrainte verticale

entrez la description de l'image ici Le nouvel éditeur de disposition dans Android Studio 2.2 continue d'afficher cette erreur dans des vues telles que EditText et Buttons. De même, tous les liens utiles à l’intégration de la nouvelle mise en page de contraintes seraient les bienvenus.

code:

 <?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
    android:id="@+id/activity_main"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.set.email.MainActivity"
    tools:layout_editor_absoluteX="0dp"
    tools:layout_editor_absoluteY="81dp">

    <TextView
        android:text="To:"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        tools:layout_editor_absoluteX="7dp"
        tools:layout_editor_absoluteY="4dp"
        android:id="@+id/textTo"/>

    <EditText
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:inputType="textEmailAddress"
        android:ems="10"
        tools:layout_editor_absoluteX="0dp"
        tools:layout_editor_absoluteY="24dp"
        android:id="@+id/editTo"
        android:textAppearance="@android:style/TextAppearance.DeviceDefault.Medium"/>

    <EditText
        android:layout_width="384dp"
        android:layout_height="42dp"
        android:inputType="textPersonName"
        android:ems="10"
        tools:layout_editor_absoluteX="0dp"
        tools:layout_editor_absoluteY="94dp"
        android:id="@+id/editSubject"
        android:textAppearance="@android:style/TextAppearance.DeviceDefault.Medium"/>

    <EditText
        android:layout_width="384dp"
        android:layout_height="273dp"
        android:inputType="textPersonName"
        android:ems="10"
        tools:layout_editor_absoluteX="0dp"
        tools:layout_editor_absoluteY="179dp"
        android:id="@+id/editMessage"
        app:layout_constraintLeft_toLeftOf="@+id/activity_main"
        tools:layout_constraintLeft_creator="50"
        android:textAppearance="@android:style/TextAppearance.DeviceDefault.Medium"/>

    <Button
        android:text="Send"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        tools:layout_editor_absoluteX="140dp"
        tools:layout_editor_absoluteY="454dp"
        android:id="@+id/btnSend"
        app:layout_constraintLeft_toLeftOf="@+id/editMessage"
        tools:layout_constraintLeft_creator="0"
        app:layout_constraintRight_toRightOf="@+id/activity_main"
        android:layout_marginEnd="16dp"
        tools:layout_constraintRight_creator="0"
        android:textAppearance="@android:style/TextAppearance.DeviceDefault.Medium"/>


</android.support.constraint.ConstraintLayout>
 

116voto

Gvtha Points 329

À partir d'Android Studio v3 et, en Déduire la Contrainte a été retiré de la liste déroulante.

Utilisez la baguette magique de l'icône dans la barre de menu au-dessus de la conception d'aperçu; il est le "Déduire les Contraintesde la touche"". Cliquez sur ce bouton, cela va automatiquement ajouter quelques lignes dans le champ de texte et la ligne rouge sera supprimé.

enter image description here

92voto

onexf Points 1616

Contrainte de mise en page vise à réduire disposition des hiérarchies et améliore les performances de mises en page(techniquement, vous n'avez pas à apporter des modifications pour les différentes tailles d'écran,Pas de chevauchement, fonctionne comme un charme sur un mobile ainsi qu'un onglet avec les mêmes contraintes).Voici comment vous débarrasser de l'erreur ci-dessus lorsque vous êtes à l'aide de la nouvelle mise en page de l'éditeur.

enter image description here

Cliquez sur le petit cercle et faites-le glisser vers la gauche jusqu'à ce que le cercle devient vert,pour ajouter une gauche contrainte(donner un nombre, par exemple x dp. Répéter avec les autres côtés et laisser le bas de la contrainte vide si vous avez un autre point de vue en dessous. enter image description here

Edit: Selon le site des développeurs, au Lieu d'ajouter des contraintes pour chaque vue que vous les placez dans la mise en page, vous pouvez déplacer chaque point de vue dans la position que vous désirez, puis cliquez sur en Déduire les Contraintes pour créer automatiquement des contraintes. plus ici

63voto

ainz Montenegro Points 61

Il suffit de copier ce code pour toutes les choses ou le bouton que vous faites glisser dans votre Android

 app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
 

Exemple:

 <TextView
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
android:text="To:"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
tools:layout_editor_absoluteX="7dp"
tools:layout_editor_absoluteY="4dp"
android:id="@+id/textTo"/>
 

24voto

Atul Chavan Points 765

Allez à la conception, faites un clic droit sur votre widget, Mise en forme de contrainte >> Inférer les contraintes. Vous pouvez constater que du code a été automatiquement ajouté à votre texte.

5voto

Makvin Points 857
Follow these steps:
Right click on designing part > Constraint Layout > Infer Constraints

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X