El nuevo editor de diseño en Android Studio 2.2 sigue mostrando este error en vistas como EditText y Buttons. amablemente ayuda Además, se agradecería cualquier enlace que ayude en la incorporación con el nuevo diseño de restricción.
código:
<?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>
Respuestas:
El diseño de restricciones tiene como objetivo reducir las jerarquías de diseño y mejora el rendimiento de los diseños (técnicamente, no tiene que hacer cambios para diferentes tamaños de pantalla, sin superposición, funciona como el encanto en un dispositivo móvil y también en una pestaña con las mismas restricciones). se deshace del error anterior cuando utiliza el nuevo editor de diseño.
Haga clic en el círculo pequeño y arrástrelo hacia la izquierda hasta que el círculo se vuelva verde, para agregar una restricción izquierda (escriba un número, digamos x dp. Repítalo con los otros lados y deje la restricción inferior en blanco si tiene otra vista debajo de ella .
Editar: De acuerdo con el sitio de desarrolladores, en lugar de agregar restricciones a cada vista a medida que las coloca en el diseño, puede mover cada vista a las posiciones que desee y luego hacer clic en Inferir restricciones para crear restricciones automáticamente. más aquí
fuente
Desde Android Studio v3 y versiones posteriores, Infer Constraint se eliminó del menú desplegable.
Utilice el icono de la varita mágica en el menú de la barra de herramientas sobre la vista previa del diseño; está el botón " Inferir restricciones ". Haga clic en este botón, esto agregará automáticamente algunas líneas en el campo de texto y se eliminará la línea roja.
fuente
Simplemente copie este código en todos los componentes que arrastrará.
ejemplo:
fuente
Vaya al Diseño, haga clic con el botón derecho en su widget, Diseño de restricción >> Inferir restricciones. Puede observar que algún código se ha agregado automáticamente a su texto.
fuente
fuente
Si Inferir el
Constraints
todavía le da el error, simplemente use este código:fuente
Necesitas arrastrar el
EditText
desde el borde del diseño y no solo el otro widget. También puede agregar restricciones simplemente arrastrando el punto de restricción que rodea el widget hasta el borde de la pantalla para agregar restricciones según lo especificado.El código modificado tendrá un aspecto similar a esto:
fuente
Vaya al texto de diseño XML donde el widget (botón u otra vista) indica error, enfoque el cursor allí y presione alt+ entery seleccione los atributos de restricciones que faltan.
fuente
por ejemplo tengo esto
use el diseño RelativeLayout como este
fuente
Simplemente cambie a la Vista de diseño y ubique el widget en cuestión. Tome uno de los puntos en el límite del widget y únalo a un borde apropiado de la pantalla (o a un punto en algún otro widget).
Por ejemplo, si el widget es una barra de herramientas, simplemente tome el punto más alto y únalo al borde más alto de la pantalla del teléfono como se muestra en la imagen.
fuente
Esto me ayuda mucho
fuente
Tienes que cambiarte
androidx.constraintlayout.widget.ConstraintLayout
aRelativeLayout
.fuente