Vistas de ConstraintLayout en la esquina superior izquierda

Resuelto hassanito hajj asked hace 54 años • 5 respuestas

Cada vez que creo vistas como Buttony TextViewen ConstraintLayout, todas se quedan atascadas 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:

ingrese la descripción de la imagen aquí

¿Cuál puede ser el problema?

hassanito hajj avatar Jan 01 '70 08:01 hassanito hajj
Aceptado

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" :

ingrese la descripción de la imagen aquí

azizbekian avatar Mar 04 '2017 09:03 azizbekian

Cuando sueltas una vista en el Editor de diseño, permanece donde la dejaste incluso si no tiene restricciones... esto es sólo para facilitar la edición.

En otras palabras, la Vista "permanecerá donde la dejes" hasta que agregues 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 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 y no representan lo que debería esperar ver cuando se ejecuta el código.

Y puede resultar 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 las restricciones faltantes 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 ayudarle a evitar la falta de restricciones, el Editor de diseño puede agregar restricciones automáticamente con las funciones Autoconexión e inferencia de restricciones.

Más detalles

OneCricketeer avatar Apr 15 '2017 06:04 OneCricketeer

Una forma rápida y sencilla de solucionar este problema es hacer clic en el componente (TextView, ImageView, etc.) y hacer clic en el botón Inferir restricciones. Parecen 2 signos más amarillos.

inferir imagen de restricciones

inferir imagen de restricciones

I.A. Washburn avatar Aug 31 '2017 21:08 I.A. Washburn