uso que mejor linearlayout left layout_constraintend_toendof entre diferencias constraintlayout constraint align android android-layout android-view android-constraintlayout view-hierarchy

android - que - Restricción: Vistas de diseño en la esquina superior izquierda



que es constraintlayout android (5)

Cada vez que creo vistas como Button y TextView en ConstraintLayout , todas se atascan en la esquina superior en lugar de donde las coloqué.

Intenté crear nuevas actividades y cambiar el emulador, pero el resultado sigue siendo el mismo.

Esta es una captura de pantalla de lo que está sucediendo:

¿Cuál puede ser el problema?


Cuando suelta una vista en el Editor de diseño, permanece donde la deja, incluso si no tiene restricciones ... esto es solo para facilitar la edición

En otras palabras, la Vista "permanecerá donde la deje" hasta que agregue restricciones.

La razón por la que se ve diferente en la Vista previa frente a su aplicación es porque cualquier cosa en su XML con tools: se eliminará del código cuando se ejecute su aplicación . Estas opciones son solo para el editor de diseño de Android Studio, no son representativas de lo que debe esperar ver cuando se ejecuta el código.

Y puede ser problemático para los principiantes porque

una restricción faltante no causará un error de compilación

sin embargo

el Editor de diseño indica que faltan restricciones como un error en la barra de herramientas. Para ver los errores y otras advertencias, haga clic en Mostrar advertencias y errores (botón rojo con número). Para ayudarlo a evitar restricciones que faltan, el Editor de diseño puede agregarle restricciones automáticamente con la función Autoconectar e inferir restricciones

Más detalles


Básicamente, este tipo de problema ocurre cuando usa ConstraintLayout .

  • Así que vaya a Vista previa desde Android Studio.

  • Seleccione el botón que desea establecer en la posición específica

  • Por último, simplemente haga clic en el botón inferir restricciones como menciono en la imagen a continuación en un círculo rojo.

Eso es todo ejecutar el proyecto y ver magia

Gracias


Como se indica en las guías de diseño de restricciones :

Si una vista no tiene restricciones cuando ejecuta su diseño en un dispositivo, se dibuja en la posición [0,0] (la esquina superior izquierda).

Debe agregar al menos una restricción horizontal y una vertical para la vista.

Supongo que no has aplicado ninguna restricción.

Aplique restricciones manualmente a la vista o deje que el editor de diseño lo haga por usted usando el botón "Inferir restricciones" :


Una forma rápida y fácil de solucionar esto es hacer clic en el componente (TextView, ImageView, etc.) y hacer clic en el botón inferir restricciones. Parece 2 signos más amarillos.

inferir restricciones de imagen


agregue esto en xml al botón, etc.

app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.57"

luego juega con él en el diseño.

¡Buena suerte! :)