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