widgets tutorial tipos studio programacion móviles desarrollo curso crear aplicaciones android-layout android-studio android-constraintlayout constraint-layout-chains

android-layout - tutorial - tipos de widgets android studio



No se puede formar una cadena entre dos vistas/widgets en Android Studio (13)

¡La pestaña DISEÑO es muy propensa a errores! Simplemente haga lo que le gustaría hacer en el diseño, pero escríbalo a través de XML. No necesita tutoriales. Se explica por sí mismo, ¡conecte todas las izquierdas y derechos!

Cuando uso el editor de diseño en Android Studio y trato de hacer una cadena (restricción bidireccional) entre una vista de texto y una vista de botón usando los anclajes de restricción, no crea la cadena.

Solo restringe si trato de restringir una Vista a la otra.

Estoy tratando de encadenar el lado derecho de EditText al lado izquierdo del botón .

Este es el aspecto de mi editor de diseño:


Creo que el editor de android studio ui necesita más mejoras para crear la cadena actualmente estoy usando Android Studio Preview 3.0 Canary 3

En algún momento desde el editor funciona perfectamente, pero a veces no, cuando no se produce un enlace desde el editor de ui, necesitamos agregar restricciones manualmente según los requisitos. El seguimiento de cadena vertical u horizontal son restricciones.

layout_constraintTop_toTopOf layout_constraintTop_toBottomOf layout_constraintBottom_toTopOf layout_constraintBottom_toBottomOf layout_constraintBaseline_toBaselineOf layout_constraintStart_toEndOf layout_constraintStart_toStartOf layout_constraintEnd_toStartOf layout_constraintEnd_toEndOf

y también declaramos estilo de cadena manualmente en XML de la siguiente manera

layout_constraintHorizontal_chainStyle o layout_constraintVertical_chainStyle

CHAIN_SPREAD -- the elements will be spread out (default style)

Cadena ponderada -- in CHAIN_SPREAD mode, if some widgets are set to MATCH_CONSTRAINT, they will split the available space

CHAIN_SPREAD_INSIDE -- similar, but the endpoints of the chain will not be spread out

CHAIN_PACKED -- the elements of the chain will be packed together. The horizontal or vertical bias attribute of the child will then affect the positioning of the packed elements -- the elements of the chain will be packed together. The horizontal or vertical bias attribute of the child will then affect the positioning of the packed elements

espero que el editor de android studio mejore esto


Desobedecí el tutorial al activar Autoconección (porque estaba intentando todo).

Seleccioné ambos widgets, luego seleccioné Centrar horizontalmente. La cadena fue creada, desconecté Autoconnect y luego continué con el tutorial.


En Android Studio 3.0.1, elija los dos objetos (en la pestaña de diseño xml) y haga clic con el botón derecho en uno de ellos y tendrá en la opción "cadena" dos opciones: una para encadenar horizontalmente y la segunda para encadenar verticalmente.


Estaba tratando de resolver esto también. Descubrí que una forma de hacerlo es seleccionar ambas vistas, luego hacer clic derecho y seleccionar Centrar horizontalmente. Esto crea la cadena, pero luego tienes que ajustar cualquier otra restricción en consecuencia. Soy nuevo en Android, así que estoy seguro de que habrá otras formas ...


La forma en que pude crear una vista de cadena en el diseño del plano es presionando la tecla arrastrar y seleccionar los objetos a vincular. Luego, mientras están seleccionados, haga clic derecho y seleccione "centrar horizontalmente". Después de hacer esto, puedo crear la otra restricción y cadena.


Lo resolví creando la cadena en modo plano. El tutorial nunca dice que tengas que regresar, pero si lo haces, puedes crear la cadena.


Se resolvió agregando restricciones tanto en el texto de edición (aplicación: layout_constraintRight_toLeftOf = "@ + id / button") como en el botón (app: layout_constraintBaseline_toBaselineOf = "@ + id / editText")

Ejemplo completo como abajo

<EditText android:id="@+id/editText" android:layout_width="245dp" android:layout_height="wrap_content" android:layout_marginLeft="16dp" android:layout_marginStart="16dp" android:ems="10" app:layout_constraintRight_toLeftOf="@+id/button" android:hint="@string/edit_message" android:inputType="textPersonName" app:layout_constraintLeft_toLeftOf="parent" android:layout_marginTop="16dp" app:layout_constraintTop_toTopOf="parent" /> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" android:layout_marginRight="16dp" app:layout_constraintRight_toRightOf="parent" app:layout_constraintBaseline_toBaselineOf="@+id/editText" app:layout_constraintLeft_toRightOf="@+id/editText" android:layout_marginLeft="16dp" />


Solo un consejo al seguir el tutorial es asegurarse de que el Android Studio esté actualizado. Me preguntaba dónde están ciertos botones cuando sigo los tutoriales pero descubrí que estaba usando una versión anterior.

En términos de la pregunta, lo mejor es James @ 6/6/17.

  1. Agregue tres botones a la vista
  2. Seleccionarlos a todos y hacer clic derecho
  3. Seleccione "Centrar horizontalmente"

Esto hace el truco para crear la cadena


Tengo una solución, probablemente no será la mejor hasta que alguien responda correctamente, pero funciona. Espero que esto ayude a otros muchachos que se quedaron en el mismo lugar que yo, así que puedes continuar el trabajo.

Parece que la interfaz de android studio no funciona correctamente cuando llegó a crear cadenas. Algunas opciones de personas aquí funcionan para 2 o 3 elementos, pero tengo 5 elementos.

Entonces la respuesta es resolver esto en el código XML.

Mis pasos son para la disposición horizontal , si quieres vertical simplemente cambia a la derecha / izquierda para arriba / abajo

Puse todos los elementos en el lugar que quiero y elimino todas las conexiones. ( Que en mi caso conecto la parte superior e inferior para que puedan estar en el medio ) .

Luego conecto el primer elemento a la izquierda y el último elemento a la derecha. Y conecta el derecho de cada elemento en el lado izquierdo del siguiente elemento.

app:layout_constraintRight_toLeftOf="@id/right_element"

La imagen de los elementos se conecta de forma normal, sin cadena todavía

Después de eso voy dentro del código y pongo manualmente la conexión al elemento izquierdo.

app:layout_constraintLeft_toRightOf="@+id/left_element"

Y la cadena fue creada. La imagen de los elementos conecta con la cadena

Espero que esta ayuda, lo siento por no publicar las imágenes, todavía no tengo la reputación suficiente XD.


Tuve el mismo problema antes, y por lo que puedo decir, tenemos el mismo problema.

El tutorial espera que uses la versión de android studio 3. Cuando tuve este problema, me di cuenta de que mi estudio de Android todavía 2.2.3. Después de instalar la actualización para la versión 3 y sdk, etc., a la última versión funcionó.

Espero que esto ayude.



lo que me causó el problema: dupliqué uno de mis puntos de vista en mi diseño (para acelerar las cosas, o eso creía). al hacerlo - causé el problema - varias vistas tenían el mismo valor de android: id . que es un gran no-no.

un valor único para toda mi vista (al cambiar el android: id ) ayudó a solucionar este problema